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

Posted

技术标签:

【中文标题】程序无法启动,因为您的计算机缺少 MSVCP90D.dll【英文标题】:The program can't start because MSVCP90D.dll is missing from your computer 【发布时间】:2013-08-07 09:54:37 【问题描述】:

Windows 7 x64; Visual Studio 2005-2012;

Visual Studio 2012 最初安装在我的计算机上。但现在我也需要 2005、2008 和 2010。我卸载了 2012 版本(为了避免出现问题)并按升序安装(使用他们的 SP):2005、2008、2010、2012。

我在 VS 2008 中编写了测试项目并尝试编译它(Debug|x64 配置),但在“错误列表”窗口中出现错误:

从 'C:\Windows\system32\cmd.exe' 返回错误结果 1。

但我看到 exe 文件已创建...如果我尝试运行它,我会收到一条错误消息:

程序无法启动,因为您的计算机中缺少 MSVCP90D.dll。尝试重新安装程序以解决此问题。

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”目录。

好的,我更改了项目的属性。我为“C/C++->代码”设置了“多线程调试 (/MTd)”值而不是“多线程调试 DLL (/MDd)”生成-> 运行时库”属性。

但是我在“错误列表”窗口中得到了同样的错误。我看到 exe 文件已再次创建...如果我尝试运行此 exe 文件,我发现现在一切正常

为什么我在“错误列表”中仍然出现错误?为什么我需要更改该属性?我该如何解决这个问题(错误消息)?

【问题讨论】:

并行配置错误。很难摆脱。尝试卸载VC++2012,再次检查并重新安装2012。 你有SSCCE 给我们吗?它会更容易理解它发生了什么...... 我花了两天时间安装这些程序。他们的安装\卸载时间很长。 > 你有SSCCE 给我们吗?我的“hello world”示例来源在这里:docs.google.com/file/d/0B7H_2Cq9tBXdSkNxd0tWZGxnWDQ/… 【参考方案1】:

查询“从'C:\Windows\system32\cmd.exe'返回错误结果1”有几个谷歌答案。首先他们 (http://social.msdn.microsoft.com/Forums/vstudio/en-US/871103ca-6015-40ce-8a59-92e47ce68aeb/error-prj0002-error-result-1-returned-from-cwindowssystem32cmdexe) 建议您可以禁用控制台的自动运行功能。如果 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 注册表项中有 AutoRun 值,则将其重命名为其他名称,然后查看错误是否消失。

显然,如果 AutoRun 注册表值中有 COLOR 命令,则会出现错误,但如果 AutoRun 值没有 COLOR 命令,则不会出现错误。因此,您可以在注册表中拥有 AutoRun 值,只需从中删除 COLOR 命令即可解决问题。

也许这个错误与另一个错误(“丢失”MSVCP90D.dll)无关,但让我们一次修复一件事。

【讨论】:

谢谢!是的,它解决了我的问题。我已将HKEY_CURRENT_USER\Software\Microsoft\Command Processor 注册表项中的AutoRun 属性重命名,错误消失了。 COLOR 命令似乎以某种方式导致了问题,因此您可以恢复 AutoRun 行,只需删除 COLOR 命令。现在的主要问题是,此修复是否也解决了您的第二个问题(“丢失”MSVCP90D.dll)? @Bush 我编辑了答案来解释它。有关更多详细信息,请阅读提供的链接中的讨论。

以上是关于程序无法启动,因为您的计算机缺少 MSVCP90D.dll的主要内容,如果未能解决你的问题,请参考以下文章

程序无法启动,因为它缺少带有 C++ 应用程序的 MSVCP110.dll

OpenCV 程序无法启动,因为 Visual Studio 2010 中缺少 MSVCP110D.dll

启动时显示缺失MSVCP140.dll怎么回事

无法启动此程序,因为计算机中丢失Qt5Widgets.dll.尝试重新安装该程序以解决此问题

MSVCP100D.dll 丢失

错误:程序无法启动,因为您的计算机中缺少 ImgProc.dll(第三方库)