Get XP to use application's different version DLL.
Posted: Tue Apr 22, 2003 3:22 pm
This scenario might come up when an application requires an older version of a DLL but XP's version management does not let the program downgrade the DLL kept in the System32 directory. Even if the older DLL is written to the application's installation directory it will be ignored in favour of the System32 version.
The workaround is to use DLL redirection. Find the .exe that's used to run the application. Create an empty file with same name but with ".local" appended to it in the same directory as the application. (Eg. if the filename is MyApp.exe then create an empty file called MyApp.exe.local.) This will instruct XP to first search for DLL files in that directory then to look in System32.
(Note: There is also another way of doing this called Side By Side component sharing, but it's nothing that the end user has any control over - it must be packaged by the developer. So, for the purpose of forcing an old DLL to be used by an application that doesn't make use of SxS, DLL redirection above is the answer.)
The workaround is to use DLL redirection. Find the .exe that's used to run the application. Create an empty file with same name but with ".local" appended to it in the same directory as the application. (Eg. if the filename is MyApp.exe then create an empty file called MyApp.exe.local.) This will instruct XP to first search for DLL files in that directory then to look in System32.
(Note: There is also another way of doing this called Side By Side component sharing, but it's nothing that the end user has any control over - it must be packaged by the developer. So, for the purpose of forcing an old DLL to be used by an application that doesn't make use of SxS, DLL redirection above is the answer.)