C++ and VS2005 Deployment PSA
March 2nd, 2006
This is a straightforward fix, but I couldn’t find anything about it anywhere else. I have a handful of old ATL projects that have been upgraded over the years from Visual C++ 6.0, through VS2003 and are now being built using Visual C++ 8. I was trying to add them to a deployment project today, and kept running into this error:
Two or more objects have the same target location
('[targetdir]\regsvr32.trg').
The issue is that the way libraries are registered has changed over the various incarnations of Visual Studio. My old projects were still using a post-build step to perform registration:
This apparently can create the output file that the deployment package is complaining about. The fix is to delete the post build steps and enable the modern registration option on the Linker’s General tab.