如何在使用Visual Studio 2015时使用MSI分发VC redist

How to distribute VC redist with an MSI when using Visual Studio 2015?

本文关键字:MSI 分发 redist 2015时 VC Visual Studio      更新时间:2023-10-16

我们刚刚切换到Visual Studio 2015,但在部署应用程序时发现了问题。

我们使用Wix/MSI进行部署,直到现在我们还在使用合并模块来分发VC redist。

但现在我们有一个问题,我们的应用程序需要ucrtbase.dll。根据本文,有一个新的通用CRT,它不包含在任何合并模块中。

在上述文章中,他们说:

通用CRT不会有合并模块。如果您当前使用CRT合并模块,但仍希望集中部署Visual C++库,我们建议您转到上述Windows Update软件包或VCRedist。或者,您可以选择静态链接到通用CRT和Visual C++库

这是否意味着我们不能用MSI分发C++运行时,因为它不能运行可执行文件(VCRedist.exe)?或者有没有办法在Visual Studio 2015中编译我们的项目,这样它就不需要这个通用CRT了?

提前谢谢。

如果你使用WiX,你可以切换到Burn并运行VC Redist包作为安装的一部分。

你引用的文章还说,支持Dlls的应用程序本地部署,所以你可以在不需要redist的情况下安装适当的Dlls。

我会使用Burn来安装官方的redist——这是Mocrosoft在出现问题时为这些Dll提供服务的唯一方法。如果您使用本地应用程序或您自己的DLL副本,如果这些DLL中存在安全问题,您可能需要提供补丁或升级。