我们刚刚切换到Visual Studio 2015,但我们在部署应用程序时遇到了问题。
我们使用Wix / MSI进行部署,直到现在我们使用合并模块来分发VC redist。
但现在我们遇到的问题是我们的应用程序需要 ucrtbase.dll 。根据此article,有一个新的通用CRT ,它不包含在任何合并模块中。
在上述文章中他们说:
Universal CRT不会有合并模块。如果您当前使用CRT合并模块并仍希望集中部署Visual C ++库,我们建议您转到上面提到的Windows Update程序包或VCRedist。或者,您可以选择静态链接到通用CRT和Visual C ++库
这是否意味着我们无法使用MSI分发C ++运行时,因为它无法运行可执行文件(VCRedist.exe)?或者有没有办法在 Visual Studio 2015 中编译我们的项目,所以它不需要这个通用CRT?
提前谢谢。
答案 0 :(得分:3)
如果您使用WiX,您可以切换到刻录并运行VC Redist包作为设置的一部分。
您引用的文章还说支持Dll的应用程序本地部署,因此您可以安装相应的Dll而无需重定向。
我会使用Burn安装官方redist - 如果有问题,这是Mocrosoft可以为这些Dll提供服务的唯一方法。如果您使用应用程序本地或您自己的Dll副本,如果这些Dll中存在安全问题,则可能需要发送修补程序或升级。