My Software needs MSVCP90.dll to execute

My Software needs MSVCP90.dll to execute

Hi, I read this and this: All steps I have done, I compiled my project, build and installed the .msi of my project. After install and run my software I get the message, that the MSVCP90.dll is missing. I also get this message when I run the software project directly from VC2008. I hoped the file MSVCP90.dll will installed on my PC using the .msi installer (included Microsoft_VC90_CRT_x86.msm, Microsoft_VC90_DebugCRT_x86.msm, policy_9_0_Microsoft_VC90_CRT_x86.msm and policy_9_0_Microsoft_VC90_DebugCRT_x86.msm), but it seems something went wrong. Any idea? Marc
10 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You need to add these as a merge module. Are you a DBP developer by any chance?

What are you using to build your msi?

If you're using VS2008 it's easy just right click on your setup project name in Solution Explorer and choose Add->Merge Module, then scroll down and look for the missing modules.


VC2008 should come with the version 9.0 CRT redistributable.

What OS are you running this from?
Have you tried creating the installer using Visual Studio 2008 Professional? (A few trial is available to download online)

Please post your Linker and Compiler strings/switches.

Do you have Linker\Manifest File\Generate Manifest option turned on (==Yes)?


i'm using Visual Studio 2008 Professional, I of course add these as a merge module and im using Win7.

After build, I was wondering why my .exe did not start and search for MSVCP90.dll. I think this file should really be installed on my system, I also copied the MSVCP90.dll into the same directory as my .exe, but still not found. I think something went wrong with compiling the project.

I needed to use the /NODEFAULTLIB:"libcmt" command to stop these compiling link conflicts, maybe thats the reason.

And im also using a Manifest File within my project, maybe that could also couse this conflict?!

Would be very great if someone could give me some idea why my project search now the MSVCP90.dll although it should be found on my system.


Hi Marc,

I had a similar issue because VS declares dependency from CRT v 9.0.21022.8 (VS2008 no sp) in manifest, the binary is really linked with v 9.0.30729.4148 (VS2008 sp1) and the Windows 7 with AppUp SDK has v 9.0.30729.4926. This situation should be handled by Side-by-side policies, but probably some policies were overwritten by installer.

Hi dmka,

what do you mean with "Side-by-side policies"? How can I use/declare it?

A bit more detailed explanation would be very great, because its the first time that im using this "Setup & Deployment Project".


Hi Marc,

> what do you mean with "Side-by-side policies"?
Here is a little background article.

Publisher Policy Files and Side-by-Side Execution

> How can I use/declare it?
You should not declare policies for c runtime by yourself since you already have them in merge modules: C:\Program Files (x86)\Common Files\Merge Modules\policy_9_0_*.msm
I think they should be added automatically by "Setup & Deployment Project". Just check if you have correct versions.

I use WIX to build my installers, so I don't know much about built-in "Setup & Deployment Project".


fortunately I found a very much better way. I only use xml manifest for declare a dependence to Common-Controls so I tried to use the build-in VC2008 manifest settings instead of adding a extern xml file. This solved the MSVCP90.dll Problem.

I'm using the following code now (free to use):

#ifdef WIN64
#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'\"")

Thank you very much for your support!!

I never would get the idea that my manifest file could be the reason for this problem...

I will continue to upload our software Real Desktop .msi now!


Thanks for sharing Marc.

Leave a Comment

Please sign in to add a comment. Not a member? Join today