【发布时间】:2015-08-24 05:15:13
【问题描述】:
我正在使用 Windows 10 中的 Visual Studio 2013 构建一个应用程序。我想将该应用程序部署在作为默认安装运行的 Windows 7 机器上。我已经尝试添加
Visual C++ 12.0 CRT (x86)
作为我的 Install Shield 项目中的依赖项。 (Visual C++ 13.0) 没有选项。但是,当我在 Windows 7 中运行该程序时,我收到一条错误消息,指出:
程序无法启动,因为您的文件中缺少 MSVCR120.dll 电脑。尝试重新安装程序以解决此问题。
我使用的 C++ 代码使用了 MSVC10 编译器不支持的语言功能,因此不能在 Visual Studio 2010 中重新构建。我需要在 install shield 中选择什么选项才能使程序在 Windows 7 中运行?
【问题讨论】:
-
您需要添加完整的 c++ 2013 可再发行包 x86,只需将其安装为已安装的一部分即可
-
我继续手动安装了 2013 可再发行组件,并将字符附加到文件扩展名之前的文件名中。我也尝试重命名这些文件。
-
没有“Visual C++ 13.0”,也不是任何人都可以避免的那种版本号。只需使用您测试程序时使用的 DLL,您通常可以在 c:\windows\syswow64 中找到它们。如果您不知道,请使用 Debug > Windows > Module 调试器窗口。
-
@HansPassant 调试 > Windows > 模块调试器窗口在 Microsoft Visual Studio 2013 Professional 中不可用。我使用 Dependency Walker 来查找依赖项。但是,当我在客户端计算机上运行应用程序时,我收到以下错误:“应用程序无法正确启动 (0xc00007b)。单击确定关闭应用程序。”在开发机器上调试和发布应用程序表明它运行正常。该应用程序是使用 Visual Studio 2013 的编译器构建的 Qt 5.4 应用程序。
-
您正在复制错误的 DLL。 Debug > Windows > Modules 调试器窗口肯定存在于您的 VS 版本中。让团队成员回头看看。
标签: c++11 visual-studio-2013 installshield windows-7-x64 windows-10