【问题标题】:Find merge modules for vcredist_x86.exe查找 vcredist_x86.exe 的合并模块
【发布时间】:2020-09-29 17:30:04
【问题描述】:

最新的 Visual Studio C++ Redistributable 位于 here。但问题是我想包含它来安装屏蔽安装,它需要合并模块而不是 exe 文件。

如何找到对应的合并模块(msm 文件)?有没有办法下载它以某种方式安装屏蔽?

【问题讨论】:

  • The Redistributables View 没有显示任何要下载的内容?还有please read this 关于为什么你应该使用可执行文件而不是合并模块的原因。 Installshield 的高端版本允许您创建Suite projects
  • 你还应该有merge modules on disk, just do a search(如果你在那个盒子上安装了Visual Studio)。类似:C:\Program Files (x86)\Microsoft Visual Studio\2017\[EditionHere]\VC\Redist\MSVC\[VersionHere]\MergeModules。但是,上面提到的套件项目应该允许您运行可执行版本。
  • @SteinÅsmul InstallShield 中的可再发行视图显示了最高到 VisualStudio C++ 14.0 的运行时。不幸的是,我有一个旧版本的 InstallShield,因此套件项目不是我的选择(。我能够按照您提到的路径找到 MSM 模块并将它们复制到合并模块文件夹according to the documentation。似乎解决我的问题。谢谢您,先生!
  • 好。我想我应该添加那些 cmets 作为答案。我会尽快完成的。

标签: windows-installer installshield vcredist


【解决方案1】:

总结:使用 Installshield 通过“套件项目”安装 VC++ 运行时的可执行文件(与启动器一起安装的设置链),或者在安装了 Visual Studio 的系统上找到磁盘上的合并模块,并将相关项目复制到 Installshield 可再发行文件夹。

记得好好测试,并且在安装后执行 Windows Update 以检查是否有待处理的安全修复(您的合并模块可能不是最新的)。如果您发现问题,请尝试更新 Visual Studio - 或手动安装最新的 SDK 并查找更新版本的合并模块。


The Redistributables View 没有显示任何要下载的内容?还有please read this 关于为什么应该使用可执行文件而不是合并模块的原因。高端、较新版本的 Installshield 允许您创建 Suite projects(详情见链接,这里是截图):

您还应该拥有merge modules on disk, just do a search(如果您在该框中安装了 Visual Studio)。比如:C:\Program Files (x86)\Microsoft Visual Studio\2017\[EditionHere]\VC\Redist\MSVC\[VersionHere]\MergeModules

但是,上面提到的套件项目应该允许您运行可执行版本,但如果您使用的是较旧的 Installshield 版本,则不能。

【讨论】:

    【解决方案2】:

    Visual C++ 运行时依赖于通用 CRT,您不能通过合并模块在最终用户的计算机上安装通用 CRT(Windows XP 除外)。合并模块在 Vista/7/8/8.1/10 上完全没有任何作用。

    this Visual Studio bug report 上查看 Daniel Griffing 的 cmets。

    三种解决方案:

    1. 需要 Windows 10。它在操作系统中内置了 UCRT;它会一直存在。
    2. 要求 Windows KB2999226。
    3. 手动将 UCRT 分发为应用程序目录中的文件。这既麻烦又危险,因为它们不会收到安全更新,但很多应用程序都会这样做。

    使用动态 CRT 并使用 Windows 10 SDK(Visual Studio 2015、2017 或 2019)构建的每个程序都需要 KB2999226 或 UCRT 文件的副本才能在 Windows

    由于知识库文章中的下载链接已失效,您可能希望将您的用户指向:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 2020-11-26
      • 1970-01-01
      相关资源
      最近更新 更多