PBDR.COM

About   -   Contact   -   Purchase   -   Search   -   What's New

 
 
Side by Side DLL Deployment
I had a user of PBDelta who was using a different build of the PowerBuilder runtime/VM for their development than I was using in my deployment/distribution of PBDelta. This was causing the customer problems as they would get errors in either their development environment or in PBDelta depending on which application was started first.

It looked like Windows was seeing it had a copy of the DLL's in memory already and was sharing the DLL files between the two apps. 

 I've put together simple windows manifest files in the past and I thought there was a way of creating a manifest file such that Windows would load the two different sets of DLL files and link them separately to each application. I started trawling around the net and msdn looking for details of what the manifest should look like when I came across this article on MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/dynamic_link_library_redirection.asp

There is a nifty feature that lets you tell windows that the application in this folder needs to use the DLL files in this folder and not from any other location. So all we did was create an empty file called pbdelta5a.exe.local in the PBDelta application folder and it solved the problem.

If you need to deploy two applications with the same DLL names but different versions you can use this neat feature to ensure there are no strange incompatibility problems between the applications.

 

Top of Page

Legal Notice

Ken Howe 2011