DLL compiled in XP works in Win2000 but not in WinXP
Posted on 2007-10-17
We have a DLL that is developed as a customization to a software we use and is supposed to be loaded when you logon to the software.
The library is written in C and compiled using MS VC++. Even though all the compilation and linking is done in Windows XP the library is loaded successfully in Windows 2000 clients but fails to load in Windows XP clients. The software's log file contains errors such as "The specified module could not be found" (even though the path it shows is correct), "Invalid library" and "Could not load the Custom Library <TAI_custom_handlers> and/or Function Ptr <TAI_custom_handlers_register_callbacks>". The libraries that succesfully load are registered in the log file as "Successfully loaded the Entry Point Function Ptr <custom_TAI_register_callbacks> for Custom Library <custom_TAI>"
Considering there might be an OS library difference I ran depends.exe on the same DLL, on both W2000 and XP. The only difference seemed to be where the library MSVCR80.DLL was read from.
Windows 2000 uses
Windows XP uses
Any ideas why XP would reject our library (event though all the work is done on XP) while W2000 accepts it?