Installshield:我需要哪些可再发行组件,找不到MSVCR120.dll

时间:2015-08-24 05:15:13

标签: c++11 visual-studio-2013 installshield windows-7-x64 windows-10

我正在使用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中进行重建。我需要选择哪种选项才能使程序在Windows 7中运行?

1 个答案:

答案 0 :(得分:0)

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

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

“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项目中,它应该可以工作。

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