Application Has Failed to Start Because Msvcp100D.Dll Was Not Found, Reinstalling App May Work

Application has failed to start because MSVCP100D.dll was not found, reinstalling app may work

If you link dynamically to the MSVC runtime then you need to install that runtime on every machine that will run your app.

Note that in this case you appear to be linking to the debug version of the runtime, it is not normal to distribute apps linked against the debug version of the runtime.

What is MSVCP100D.dll?

This is the C++ runtime library dll. You've used the debug version, which won't be found in a user's computer. Compile your program in release mode. This will add a dependency in MSVCP100.dll, which is most likely to be present.

In any case, you must make sure that the dll will be present in user's machine. You can do that by creating an installer or by prompting the user to install the Microsoft Visual C++ 2010 Redistributable Package.

In summary:

  • Compile your code in release mode
  • Create an installer or use another way to copy the needed dlls to user's machine

MSVCP100D.dll missing

Reinstalling Visual Studio fixed the problem.

program can't start because msvcp100.dll is missing for Every single code

By default, MSVC projects are set to link against the dynamic run time library which generates a dependency on the visual C++ run time redistributable. As you have already found out, this dependency is not guaranteed so your install utility has to install the visual c++ run time first.

You can avoid this by changing your project settings. Load the project properties and go to: "Configuration Properties"/"C/C++"/"Code Generation"

  • In the item labelled "Runtime Library", select "Multi Threaded (/MT)"
  • for the release version"Multi Threaded Debug (/MTd)" for the debug version.

You have to be careful while doing this that all the other libraries that your application links are also compiled against the static run time.

MSVCP100.dll not found error even when it is installed

Your application needs the dll for VS2010. you should place MSVCR100.dll and MSVCP100.dll from your x86 machine beside your exe. You can also install VS2010 alongside your current VS2012. then you should also install the Service Pack1 for VS2010 to work properly. After installing VS2010 you have access to both mentioned dlls and also you probably don't need to copy them to your exe directory.

What to do with This application has failed to start because myproject.dll was not found. error

When Windows loads an EXE, it will check what DLL's are needed, directly or indirectly. In your case, A.EXE will need B.dll. When Windows has determined that list, it will use this procedure to locate the DLLs:

  • The directory where the executable is stored [1]
  • The current directory, as set by CreateProcess()
  • The Windows system directory (holds most of the Windows DLLs such as USER32.DLL)
  • The Windows directory (for legacy reasons, mostly)
  • The directories from the PATH variable (also for legacy reasons)

[1] Symbolic links can cause an executable to have multiple paths. To be precise here, it's the path of the executable that was passed to CreateProcess.

Can't Compile Solution in Debug Mode Because MSVCR100D.dll is Missing

MSVCR100D.dll is the dll for Visual Studio 10, so somewhere something is depending on it (the SFML dlls?). Whatever you compile (in debug mode) with Visual Studio 2012 will require MSVCR110D.dll, which you should have available on your machine as part of the installation.

I suggest you build SFML yourself on your own version of Visual Studio, it's pretty easy. In fact, the binaries available on the site as part of the SFML 2.0 RC are rather old and you'll do yourself a huge favor by building from the latest sources, as a lot of fixes and improvement were applied in the meantime.

(Also, definitely use 2.0 instead of 1.6. The site is rather misleading, but on the SFML forums virtually everyone will recommend you use the last version)

Remote debugging C++ on the Windows Server 2008 platform with VS2010; MSVCP100D.dll missing

Thanks to Errata, I had a look at

Project Properties -> Configuration Properties -> C++ -> Code Generation

I changed Runtime Library from Multi-threaded Debug DLL to Multi-threaded Debug (/MTd).

This allows remote debugging without having to rely on the correct debug DLLs residing on the remote machine.

I hope this helps someone out there!



Related Topics



Leave a reply



Submit