如何在使用Visual Studio 2015时使用MSI分发VC redist
How to distribute VC redist with an MSI when using Visual Studio 2015?
我们刚刚切换到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中存在安全问题,您可能需要提供补丁或升级。
相关文章:
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 我需要分发哪些版本的可再分发文件
- MSI 安装的数据持久性
- 收获(加热) Wix - 在 MSI 中存档资源
- 如何使用CMake和C++创建可分发文件
- 在不同的模板参数包之间分发非类型参数包
- 如何将提升正常分发存储为类成员
- 在 Linux 上分发软件时的库依赖关系?
- 在RHEL6上使用最近的gcc进行编译:如何分发软件?
- 从Qt应用程序执行MSI文件
- 如何提高对 std::函数侦听器的分发性能?
- 导出(安装)的 cmake 目标是否可分发?
- DDS C++ - 数据分发服务
- 打包 OpenCV DLL 以分发C++ DLL
- C++ MSI 包管理权限
- 分发我自己的程序的几个问题
- 如何分发调用Python C++应用程序?
- 构建MacOS可执行文件,以便使用cmake(包括OpenCV)进行分发
- 用OpenMPI分发GA算法
- 如何在使用Visual Studio 2015时使用MSI分发VC redist