Click here to Skip to main content
14,933,861 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 ?

1 solution

Hurray, I found this, deep in MS doc:[^]

You just need to create your own installation package for these Debug DLLs !? Yet another twist from ever-cunning Microsoft...
Philippe Mori 3-Jan-13 10:06am
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
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
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
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.
YvesDaoust 3-Jan-13 10:17am
I am not sure you understood my post.
Philippe Mori 3-Jan-13 11:32am
Maybe but on your own computer when Visual Studio is properly installed, you don't have to do anything to run a debug application. If Visual Studio is not working properly in your case, maybe something went wrong for one reason on another like a conflict if you have installed or installed multiple versions not always in the expected order... Or some problem might occurs if you upgrade a project from one version to the next... Do you have that problem with a new C++ project?
YvesDaoust 3-Jan-13 11:44am
That's what I thought too. That's how it used to be. The Win32 projects are running fine, both Release and Debug. As I said, any x64 project fails in the Debug mode, even when created from scratch and even after complete reinstallation of VS2008 !
Philippe Mori 3-Jan-13 14:28pm
I never have that problem but I'm not sure if I have ever tried 64 bits in VS 2008.
YvesDaoust 4-Jan-13 9:47am
It seems that my problem is not isolated:
Thanks for your contributions.

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