views:

8329

answers:

6

Hi, in my project if compile project in release, it asks me MSVCP90.dll.

if it is debug, it does not...

have you ever met such a situation?

and do you know why this .dll is desired? or what configuration makes it to be desired?

thanks for any advice..

+10  A: 

I think you need to install Microsoft Visual C++ 2008 Redistributable Package which you can get from here.

Uday
since it is already loaded, this is not the solution :(
ufukgun
+1  A: 

Have you searched your hard disk for the file? You may find it in a directory such as:

C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT

If it's there, copy it to your \windows\system32 directory.

Also copy msvcm90.dll and msvcr90.dll while you're at it.

If this is not working then the solution is download and install Microsoft Visual C++ 2008 Redistributable Package. Follow this link for download (cca 1.8 MB):

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

Check Here for multiple ways of sloving this issue :

http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm

joe
+5  A: 

Hi, i realized that i already installed Microsoft Visual C++ 2008 Redistributable Package so i just repaired but it did not solved the problem.

then i looked for the configuration and saw that "Generate Manifest" is "No" in Release when it was "Yes" in Debug.

so i changed and tried again then it worked.

i did not know that this configuration may affect like that, (and i dont remember when i changed it)

anyway.. thanks for your other answers...

ufukgun
You can check out how MS Runtime dlls are deployed in Windows directory at %WINDIR%/WinSxS. Windows uses manifest to determine which particular runtime dll to load.
Oleg Zhylin
Another option which may cause the same problem: Manifest Tool | Embed Manifest = No.
Michal Czardybon
Thank you I stupidly disabled the manifest and this solved it for me! Thanks :)
Brock Woolf
+1  A: 

Check your project settings. If you're not generating a manifest for your Release build, the DLL will need to be in the System32 directory.

Also, if your Release and Debug builds are going to the same directory, it could be seeing the Debug manifest, which would point it to the debug version of the DLL. Your best bet is to generate an embedded manifest for all builds.

Ryan
A: 

There are several files that make Visual C++ Run-time and you can have the same problem with any of them. You might take a look at other questions regarding any of the following files.

  • msvcP90.dll
  • msvcP90d.dll (debug version of msvcP90.dll)
  • msvcR90.dll
  • msvcR90d.dll (debug version of msvcR90.dll)
Piotr Dobrogost
My initial thought was wrong. It has nothing to do with the bulleted list, and everything to do with the fact that you're trying to bold just part of a word. This is by design, since it would not do to have markdown mistakenly bold code. See Jeff's explanation here: http://meta.stackoverflow.com/questions/1643/bug-bolding-with-isnt-working-properly/1669#1669
Bill the Lizard
@Bill What's the problem with filenames with M in the name?
Piotr Dobrogost
A: 

You probably turned off manifest embedding in your project in release configuration.

inazaruk
yes you are right. that was the solution but i already have told it..
ufukgun