Click here to Skip to main content
15,885,757 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I recently migrated VC 6.0 project to VS2010. The project was developed a decade ago. I build everything with VC10.0 compiler. Certain changes had to be made to adjust to latest MFC changes. The project is successfully build and running fine. But when I tried to install it on another machine, the registration failed. On target machine, I installed VC6.0, and now the installation is sucsseful. This indicates that there are still certain dependencies on VC6.0. In my include & link path, I have no references to VC6.0 directories. Still, I am left with this issue. How can find out such dependencies and resolve them?
Posted

Try using the Depends.exe tool on your executable. It will give all dll dependencies, and hint what's missing. This tool came with VC6 if I remember correctly. It's just a plain exe file you can copy to a target machine and run on your binaries there to easily detect missing dlls, and traverse dependencies.
 
Share this answer
 
To clarify on Niklas's answer, Depends.exe can be found here[^].

Also check to make sure you are using a static link to MFC and the CRT in Project Properties>General>Use of MFC and Project Properties>C++>Code Generation>Runtime Library. If you don't want to or can't use a static link (which happens from time to time) then you might need to get the VS2010 runtimes[^] (or for x64[^]).
 
Share this answer
 
I am aware of depends.exe and I checked the dependencies before submitting the issue on forum. How can I find from depends.exe whether the library being listed corresponds to VC6.0 installation or VC10.0 installation?
 
Share this answer
 
Comments
Niklas L 4-Feb-11 10:56am    
You probably can't by any other means than the name of the dll. If you can, try installing again on a clean machine, and use depends.exe there when it doesn't work.
Is there a chance it's not related to a VC version dll, but some other dll missing, which got installed by VC6?
Albert Holguin 5-Feb-11 20:39pm    
Try looking at the applications manifest to see if there's dependencies on the old dlls. Otherwise, as Niklas suggested, may be something else that was installed with VC6.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900