Click here to Skip to main content
15,501,490 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I can't run any 64 bits (x64 platform) C++ .NET application built with Visual Studio 2008 Professional in the Debug configuration.

Error messages indicate that the Side-by-Side configuration is invalid. Further investigations (using SxStrace) reveal that there are indeed no debug versions of the Run-Time libraries in \Windows\WinSxS (files msvc*90d.dll). Release versions are there.

The only 64 bits Debug version that can be found are in C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT

I have re-installed VC2008. I have also tried to copy the DLLs in \Windows\WinSxs, but protections are too strong.

Why is it that the applications don't find these DLLs ? What can I do ?
Posted

1 solution

Hurray, I found this, deep in MS doc: http://msdn.microsoft.com/en-us/library/ms235317(v=vs.90).aspx[^]

You just need to create your own installation package for these Debug DLLs !? Yet another twist from ever-cunning Microsoft...
 
Share this answer
 
Comments
Philippe Mori 3-Jan-13 10:06am     CRLF
You also have to install the run-time for a release version when you build one as otherwise it will not works on a computer where the runtime for that version of the compiler has not yet been installed. Generally, you should not used debug versions of those DLLs but build a release version of your program when you ship it. It is a bad practice to ship a debug version as it is slower (and in some case much slower like for STL containers) than the release version and it might also be somewhat easier to reverse-engineer a debug version than a release one.
YvesDaoust 3-Jan-13 10:15am     CRLF
I am not shipping anything, just debugging a program. I find it hilarious that you need to build an installer as a workaround.
Philippe Mori 3-Jan-13 11:25am     CRLF
Not on your own machine but if you want to install it on another machine then you have to ensure that you install anything that your application uses. Well if the other computer is under your control and you do it only for testing purpose then you might install the run-time manually from its stand-alone installer.
YvesDaoust 3-Jan-13 11:30am    
I don't plan to install on another machine. I just want to debug on mine.
Philippe Mori 3-Jan-13 10:13am     CRLF
As a good programmer, you also want to create an installation so that your program correctly appears in Add/Remove program and that installing it or uninstalling works properly and safely. It is a good thing that Microsoft has added protection as Windows is a lot more stable now that it used to be in the past.

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