Fix The Program Can't Start Because MSVCR100D.dll Is Missing From Your Computer.

Martin Brinkmann
Mar 23, 2012
Updated • Dec 2, 2012
Tutorials, Windows tips
|
11

I had to reinstall Windows 7 on a different hard drive on my computer after the root drive crashed the other day. That meant a lot of re-installations of software, and sometimes error messages when a particular runtime or program was not installed on the system. Today I tried to run a program which failed to do so. It threw the error "The program can't start because MSVCR100D.dll is missing from your computer. Try reinstalling to fix this problem".

Reinstalling obviously did not fix it. The strange thing was that the program installer recognized that Microsoft Visual C++ 2010 runtime libraries were missing, but the installation it launched to correct the issue did not correct the error when I tried to start the program after installation.

the program cannot start because msvcr100d.dll is missing

First thing I did was to check if the msvcr100d.dll file was actually copied to a system folder during installation of the runtime. Turned out, the file was nowhere to be seen, only the msvcr100.dll file was copied into the Windows system32 folder.

After some checking around I found out that the d at the end stands for debug version. I then checked the runtime installer file by extracting its contents on my computer, only to find out that msvcr100d.dll was not included in the setup file.

I'm not 100% sure about this but it seems as if the application developer made an error by making the program file that is requiring the debug dll depend on it. If that is correct, it could be that the msvcr100d.dll is only distributed with Visual Studio, and not the runtime libraries.

I fixed the issue by downloading the dll from a third party dll repository (make sure to select download zip-file on the page). I then extracted the dll directly into the program directly, and lo and behold, the program worked afterwards.

You can alternatively place it into your system32 folder, but I personally prefer it in the application folder to avoid issues with other programs. It is also easier to delete the file when the software gets uninstalled.

That got me thinking. Do you know of any repository on the Internet where you can look up file names and how they are distributed?

Advertisement

Previous Post: «
Next Post: «

Comments

  1. ShoShan said on February 19, 2014 at 8:06 am
    Reply

    It’s helped….
    simply thanks…

    Keep it up…

  2. Jeremy Collake said on March 24, 2012 at 4:08 am
    Reply

    Also note that instead of extracting this to the SYSTEM32 folder, you want to extract it to the folder of the application that needs it. Why? Because a later application install may over-write the one in the SYSTEM32 directory, perhaps with an older copy… OR the application may be sensitive to the exact DLL version. Although the major versions of the DLL have different names, Service Packs share the same name as their predecessor. So, you end up in ‘DLL Hell’, which is what Microsoft tried to solve with WFP and SFC (largely successful).

  3. Anthony Frazier said on March 23, 2012 at 2:50 pm
    Reply

    Microsoft themselves used to run such a website for their own products called DLL Help. You could feed it any filename and it’d tell you all the publicly released versions and some products that shipped them. They took it offline about 2 years ago.

    @Jeremy Collake: I doubt that MS ships a redistributable version of the debug runtime libraries. The only “correct” way to obtain them would probably be to install an MS development environment on your system. This is almost certainly a case where the software vendor flat out screwed up and needs to rebuild their software properly.

    1. Jeremy Collake said on March 24, 2012 at 3:34 am
      Reply

      Indeed, you may be right Anthony. The developer here did screw up, unless this is a debug version of their software. Still, I don’t see why Microsoft wouldn’t make this runtime DLL available as well. Heck, they even have a *public* Symbol Server that will serve up debug symbols for any system DLL — so surely they have it somewhere, or they ought to. If all else fails, ANY VC++ developer can give you a copy. I wouldn’t trust the sites that proclaim to solve such errors, there are just too many scams. Note that if all else fails, the Platform SDK will probably include the debug DLL.

  4. MartinJB said on March 23, 2012 at 1:55 pm
    Reply

    @ Jeremy Collake thank you for that useful tip about the D on the end being the debug version – may come in useful in the future.

    @Martin Brinkmann
    Lets hope we’ll find more repositories that are safe!

  5. ilev said on March 23, 2012 at 12:44 pm
    Reply

    “reinstall Windows 7 on a different hard drive ” ?

    Never heard of image backup ? fail.

    1. SubgeniusD said on March 23, 2012 at 1:58 pm
      Reply

      Coincidentally I also had to reinstall Win 7 yesterday (MBR/BCD corruption that couldn’t be fixed with bootrec/fixmbr etc from the recovery command prompt). Luckily I had a recent backup including system image. Or so I thought.

      I had used the built-in Win 7 backup utility and when the external backup HDD was accessed using Win 7 Pro installation DVD I got all kinds of error messages and codes like invalid image, then source – destination media defective (chkdsk showed no errors) and further restore attempts came up with same failure messages. Spent half the night trying (and googling from another computer) around with no joy.

      Booting into a live Linux CD showed both disks were ok and I could access all backup files. So I was forced to reinstall system. Then used backup to transfer documents and applications to new partitions.

      So the moral of this story is a) Windows backup sucks and I’ll NEVER trust it again. b) It can happen that you need to reinstall even with a recent image backup.

      1. ilev said on March 23, 2012 at 8:50 pm
        Reply

        I never used Windows backup. For the last years I use Acronis. I make 2 full image backup each month, keeping 2 generations, on 2 external hard drives.

  6. Jeremy Collake said on March 23, 2012 at 12:42 pm
    Reply

    There are LOTS of fake repositories for such files, most are scam sites that will infest you.

    What you are missing here, as you discovered, is the Windows Visual C++ Runtime Library v10.0 (Visual Studio 2011) DLL — supposed to be distributed with any application that dynamically links with it.

    You can get this *directly* from Microsoft, which is obviously the BEST, and SAFEST place to retrieve it from:

    x86: http://www.microsoft.com/download/en/details.aspx?id=5555
    x64: http://www.microsoft.com/download/en/details.aspx?id=14632

    Google “msvc runtime redistributables” for these links.

    1. Martin Brinkmann said on March 23, 2012 at 1:22 pm
      Reply

      I tried that but the file was not installed on my system, only the file without the “d” in the name was. I also tried finding an official installer that would but came up empty handed. But I only looked for it for about five minutes.

    2. Jeremy Collake said on March 23, 2012 at 12:43 pm
      Reply

      Ah, I should have mentioned — the ‘D’ at the end of the DLL basename indicates it is the DEBUG version of the VC++ runtime library. So, the above links may or may not include it. If they don’t, another link *at Microsoft* will.

      Regardless of where you end up getting the replacement, at least MAKE SURE it is digitally signed by Microsoft.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.