查找vcredist_x86.exe的合并模块

问题描述

位于here的最新Visual Studio c ++可再发行文件。但是问题是我要包括它来安装shield install,它需要合并模块而不是exe文件

如何找到相应的合并模块(msm文件)?是否可以通过某种方式将其下载到installshield?

解决方法

摘要 :使用Installshield通过“套件项目”(用于启动程序安装的安装链)为 VC ++运行时安装可执行文件。 ),或在安装了Visual Studio的系统上的磁盘上找到合并模块,然后将相关项目复制到Installshield可再发行文件夹。

请记住要进行良好的测试,并在安装后进行 Windows Update ,以检查是否有未决的安全修复程序(您的合并模块可能不是最新的)。如果遇到问题,请尝试更新Visual Studio-或手动安装最新的SDK,并查找合并模块的较新版本。


The Redistributables View没有显示任何要下载的内容吗?另请please read this说明为什么应使用可执行文件而不是合并模块。高端,较新版本的Installshield允许您创建Suite projects(有关详细信息,请参见链接,这是屏幕截图):

enter image description here

您还应该拥有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版本,则不允许运行。

,

Visual C ++运行时取决于通用CRT,并且您不能通过合并模块在最终用户的计算机上安装通用CRT(Windows XP除外)。在Vista / 7/8 / 8.1 / 10上,合并模块对此毫无作用。

请参阅Daniel Griffing对this Visual Studio bug report的评论。

三种解决方案:

  1. 需要Windows10。它已将UCRT内置到操作系统中。它会一直存在。
  2. 在安装应用程序之前,要求Windows KB2999226。
  3. 将UCRT作为文件手动分发到应用程序目录中。这很麻烦且危险,因为他们不会收到安全更新,但是许多应用程序都这样做。

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

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