【问题标题】:Installshield: Which Redistributables do I Need, MSVCR120.dll Not FoundInstallshield:我需要哪些可再发行组件,未找到 MSVCR120.dll
【发布时间】: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


【解决方案1】:

我认为您必须将 Visual Studio 12.0 (2013) CRT 合并模块添加到您的 Installshield 项目中,具体取决于您使用的 Installshield 版本(如果您的版本中未包含)。我正在使用 Installshield Spring 2012,在此版本中不直接包含 Visual Studio 12.0 (2013) 合并模块。可能你和我一样使用独立的计算机来编译程序和设置。

  • 您可以在您的编译机上找到这些合并模块(保证使用完全相同的文件/依赖项):

“C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC120_CRT_x64.msm” 或者 "C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC120_CRT_x86.msm"

  • 我将我的人员合并模块复制到 Installshield 计算机上的特定文件夹中。

例如: "C:\Program Files (x86)\Common Files\MyMergeModules"

这避免了在 Installshield 机器上安装 Visual Studio 12.0 (2013)。

  • 并配置 Installshield 以使用菜单中的此文件夹: 工具 -> 选项 -> 合并模块选项卡 -> 合并模块位置(所有用户)

  • 然后您必须将此合并模块添加到您的 Installshield 项目中,它应该可以工作。

也许不是官方的方式,但它对我有用。

【讨论】:

    猜你喜欢
    • 2019-03-30
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多