简体   繁体   English

该程序无法启动,因为您的计算机中缺少MSVCP90D.dll

[英]The program can't start because MSVCP90D.dll is missing from your computer

Windows 7 x64; Windows 7 x64; Visual Studio 2005-2012; Visual Studio 2005-2012;

The Visual Studio 2012 was installed at my computer at first. 首先,将Visual Studio 2012安装在我的计算机上。 But now I need the 2005, 2008, and 2010 too. 但是现在我也需要2005、2008和2010。 I uninstalled the 2012 version (for the problems avoiding) and instal all in ascending order (with their SP): 2005, 2008, 2010, 2012. 我卸载了2012版本(为避免出现问题)并按升序安装(带有SP):2005、2008、2010、2012。

I wrote test project in VS 2008 and tried compile it (Debug|x64 configuration), but I got an error in the "Error List" window: 我在VS 2008中编写了测试项目,并尝试对其进行编译(Debug | x64配置),但是在“错误列表”窗口中出现错误:

Error result 1 returned from 'C:\\Windows\\system32\\cmd.exe'. 从“ C:\\ Windows \\ system32 \\ cmd.exe”返回的错误结果1。

But I see the exe file was created... If I try run it I get an error message: 但是我看到该exe文件已创建...如果尝试运行该文件,则会收到错误消息:

The program can't start because MSVCP90D.dll is missing from your computer. 该程序无法启动,因为您的计算机缺少MSVCP90D.dll。 Try reinstalling the program to fix this problem. 尝试重新安装该程序以解决此问题。

But the MSVCP90D.dll file are exists actualy into the "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\redist\\Debug_NonRedist\\x86\\Microsoft.VC90.DebugCRT" and "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\redist\\Debug_NonRedist\\amd64\\Microsoft.VC90.DebugCRT" directories. 但是, MSVCP90D.dll文件实际上存在于“ C:\\ Program Files(x86)\\ Microsoft Visual Studio 9.0 \\ VC \\ redist \\ Debug_NonRedist \\ x86 \\ Microsoft.VC90.DebugCRT”和“ C:\\ Program Files(x86)”中\\ Microsoft Visual Studio 9.0 \\ VC \\ redist \\ Debug_NonRedist \\ amd64 \\ Microsoft.VC90.DebugCRT“目录。

Ok I change the project's property. 好的,我更改了项目的属性。 I set the " Multi-threaded Debug (/MTd) " value instead of " Multi-threaded Debug DLL (/MDd) " for the "C/C++->Code Generation->Runtime Library" property. 我为“ C / C ++->代码生成->运行时库”属性设置了“ 多线程调试(/ MTd) ”值,而不是“ 多线程调试DLL(/ MDd) ”值。

But I get the same error in the "Error List" window yet. 但是我在“错误列表”窗口中得到了同样的错误。 I see the exe file was created again... If I try to run this exe file, I see all works fine now . 我看到该exe文件再次被创建... 如果我尝试运行此exe文件,则现在一切正常

Why I get an error still in the "Error List"? 为什么在“错误列表”中仍然出现错误? Why I need to change that property? 为什么我需要更改该属性? How can I solve this problem (an error message)? 如何解决此问题(错误消息)?

There are several Google answers to query "Error result 1 returned from 'C:\\Windows\\system32\\cmd.exe'". Google有几个查询答案“从'C:\\ Windows \\ system32 \\ cmd.exe返回的错误结果1”。 First of them ( http://social.msdn.microsoft.com/Forums/vstudio/en-US/871103ca-6015-40ce-8a59-92e47ce68aeb/error-prj0002-error-result-1-returned-from-cwindowssystem32cmdexe ) suggests that you could disable AutoRun feature of the console. 首先( http://social.msdn.microsoft.com/Forums/vstudio/en-US/871103ca-6015-40ce-8a59-92e47ce68aeb/error-prj0002-error-result-1-returned-from-cwindowssystem32cmdexe )建议您可以禁用控制台的“自动运行”功能。 If you have AutoRun value in HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Command Processor registry key then rename it to something else, and see if the error is gone. 如果您在HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Command Processor注册表项中具有AutoRun值,则将其重命名为其他名称,然后查看错误是否消失。

Apparently if there is a COLOR command in the AutoRun registry value then the error appears, but if AutoRun value has no COLOR command then there is no error. 显然,如果AutoRun注册表值中有COLOR命令,则会出现错误,但如果AutoRun值中没有COLOR命令,则不会有错误。 So you can have the AutoRun value in the registry, just remove the COLOR command from it to fix the problem. 因此,您可以在注册表中具有“自动运行”值,只需从中删除“ COLOR”命令即可解决该问题。

Maybe this error has nothing to do with the other error ("missing" MSVCP90D.dll), but let's fix one thing at a time. 也许此错误与另一个错误(“缺少” MSVCP90D.dll)无关,但让我们一次修复一件事。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM