We are using EntireX to communicate between our Web application and mainframe, and it works fine when we tested it on our developer’s workstation. The setting of SoftwareAG.EntireX.NETWrapper.Runtime.ERX.Location seems critical. If an absolute path to the erx.dll is not set in SoftwareAG.EntireX.NETWrapper.Runtime.xml, you get the 20020011: Cannot load erx.dll error.
The default value of this key in the XML is ERX_LOCATION. I suppose it is a system variable. We modified it to point to where the erx.dll is. However, as we are ready to deploy the solution, there is a problem. We are deploying to Azure as an app service, where we cannot install EntireX nor can we use an absolute path.
Has anyone come across the same challenge? Is there a known solution out there?
There is a fallback for such cases. Please copy erx.dll and broker.dll to the location of SoftwareAG.EntireX.NETWrapper.Runtime.dll. You should note, that all these files have to be from the same EntireX installation. If there is a fix for any of the files involved, it is your responsibility to keep the files in sync.
@jmr, thank you for sharing your thoughts.
We would like that behavior as we can copy all the needed files to the same directory. However, we didn’t know how we can make the fallback work. We have tried a few different values,
- empty (shows the .xml file is missing)
- . (dot, shows Cannot load erx.dll)
- ./ (same error, cannot load erx.dll)
- .\ (same error, cannot load erx.dll)
- delete the ERX.Location key all together. Same error, cannot load erx.dll.
We just don’t know how to make it look in the same directory.
You don’t need the XML file in this case. It is enough, if you have SoftwareAG.EntireX.NETWrapper.Runtime.dll, erx.dll and broker.dll at the same location. In this case erx.dll is loaded by path. May be you need a “.” in the Path environment variable of your Web application.
If your problem persists, please contact me by Software AG support. Please provide the EnitreX Windows eventlog of the system running your Web application. Tell the supporter, that you had already contact with the EntireX development team.