I recently copied (but did not not install) a dll into the windows\system32 folder on an XP machine. I had set the file and the product versions of this dll to 1.0.0.1
I then wanted to install the same dll but of older version 1.0.0.0 using a distribution kit I had built for it.
The installer appeared to install the older DLL alongside the newer version, though they were the same name I believe. When I ran a client application, it loaded the newer DLL, as I could verify using the sysinternals procexplorer tool.
I deleted the newer version and after that the client application ran using the older dll as I had intended.
Does anyone know if:
1. Windows tolerates multiple DLL's of the same name (but different version) in the system32 folder? This may be part of the DLL rollback scheme XP implements I imagine if it does this.
2. A win32 application will automatically choose to load the newest version of a DLL during a static (at process start) dll load?
I guess what I'm really asking is if there's DLL installer and/or load behavior in WinXP that is DLL version dependent?
Thanks, Menchar