5

When I try to debug my C++ application I get the error

The program can't start because MSVCP100D.dll is missing from your computer. Try reinstalling the program to fix this problem.

I found someone with a similar problem here: Remote debugging C++ on the Windows Server 2008 platform with VS2010; MSVCP100D.dll missing however the solution given there doesn't seem to show up when I go to the solution properties.

Would reinstalling Visual Studio fix this problem?

Community
  • 1
  • 1
Renari
  • 822
  • 7
  • 16
  • 32
  • possible duplicate of [Application has failed to start because MSVCP100D.dll was not found, reinstalling app may help](http://stackoverflow.com/questions/4668566/application-has-failed-to-start-because-msvcp100d-dll-was-not-found-reinstallin) – Raymond Chen Oct 26 '11 at 14:35
  • I am actually having this problem while debugging though, not having the problem while sending it to someone else. – Renari Oct 26 '11 at 14:43
  • `MSVCP100D.dll` is the debug version of the redistributable DLL package for Visual Studio 2010. If you are remote debugging on a server that doesn't have Visual Studio 2010 installed that is the cause of your problem. If that is your use case, I suggest doing your remote debugging using a RELEASE build that contains debug information and removed optimizations -- this will give you (almost) everything you have with a normal DEBUG build. – Chad Oct 26 '11 at 14:47
  • That's just a special case of sending it to yourself. Did you install the debug libraries? – Raymond Chen Oct 26 '11 at 14:48
  • 1
    I am not remote debugging, I'm debugging locally. – Renari Oct 26 '11 at 15:00
  • That's unhealthy. Look in c:\windows\system32 for the file (c:\windows\syswow64 for x64). Re-running setup.exe to repair the install would be wise if it is missing. Do fret a bit about files disappearing. – Hans Passant Oct 26 '11 at 17:33

5 Answers5

9

Usually you don't want MSVCP100D.dll on your system. It's for debugging purposes only. If you get this error for your release build you must make sure that you didn't accidently add a 'Debug'-tagged Project Output to your setup project.

If you really need to debug your software on a remote machine, I suggest you do the following:

Create a new Setup project called 'CRTDebug100Setup' and add the following Merge Modules (found under C:\Program Files\Common Files\Merge Modules):

  • Microsoft_VC90_DebugCRT_x86.msm
  • policy_9_0_Microsoft_VC90_DebugCRT_x86.msm

Build, and deploy on your computer to be debugged!

l33t
  • 18,692
  • 16
  • 103
  • 180
4

Reinstalling Visual Studio fixed the problem.

Renari
  • 822
  • 7
  • 16
  • 32
  • 1
    Didn't help for me. The dll file is totally missing on my laptop so not sure how reinstalling would help. – Ruchir Apr 05 '16 at 03:45
2

This can also occur if Generate Debug info is not set to No

Configuration Properties -> Linker -> Debugging -> Generate Debug info

biegleux
  • 13,179
  • 11
  • 45
  • 52
le88fe
  • 21
  • 2
1

Followup on l33t's answer above (tried to revise it but it did not seem to appear).

Added later by gpicher 10 Jan 2012: I believe those .msm packages would be for a 9.x version of the DLL in question, not a 10.x version. I resolved a similar problem I had by making a setup project with Visual Studio 2010 installed on a 64 bit Windows installation, using the merge module Microsoft_VC100_DebugCRT_x86.msm in the folder C:\Program Files (x86)\Common Files\Merge Modules. There's a similar x64 version of the .msm if the application showing the error dialog is a 64 bit application. In this case a third party was providing me a debug build of their application in order to develop and test new plugin code against, so I couldn't change build settings, and wanted the debug functionality.

Jules
  • 14,200
  • 13
  • 56
  • 101
1
  • Find the Visual Studio 2010 install iso file.

  • Extract cab44.cab file from the ISO.

  • Then extract file "F_REDIST_DLL_APPLOCAL_msvcp100d_x86" from the .cab file using 7z.

  • Rename the file to msvcp100d.dll.

For x64 version. The cab file name is cab26.cab and the file name is F_REDIST_DLL_APPLOCAL_msvcp100d_x64.

For similar issue such missing msvcr*d.dll for another visual studio version. Here is the way I used to find the answer:

  1. Find the Visual Studio ISO.

  2. Extract all the .cab file.

  3. 7z.exe t *.cab > filelist.txt

  4. gvim filelist.txt

searching for the interested file name. Hope this helps.

zhaorufei
  • 2,045
  • 19
  • 18
  • I tried the VS2010 pro trial edition ISO. There is cab26.cab (I've x64 system) but no file F_REDIST_DLL_APPLOCAL_msvcp100d_x64. – Ruchir Apr 07 '16 at 10:02