我已经使用Microsoft Visual Studio 2015社区版构建了一个C ++应用程序。我正在使用高级安装程序来确保Visual Studio 2015的Visual C ++可再发行组件是先决条件。
但是,可再发行的安装程序并不完美。我的一些用户报告说,可重新分发的安装程序挂起,或者安装时提示无法安装,然后用户收到“此程序无法启动,因为您的计算机缺少MSVCP140.dll”错误。
根据Microsoft的说法,我现在可以将可再发行的DLL与我的应用程序打包在一起,尽管他们不建议这样做:
若要部署可重新分发的Visual C ++文件,可以使用Visual Studio中包含的Visual C ++可重新分发程序包(VCRedist_x86.exe,VCRedist_x64.exe或VCRedist_arm.exe)。...也可以在应用程序本地文件夹(包含可执行应用程序文件的文件夹)中直接安装可再发行的Visual C ++ DLL。出于维修原因,我们不建议您使用此安装位置。
中有4个文件C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT
。这是否意味着我只需要在安装过程中将它们复制到应用程序的目录中?
这样可以吗?我需要出示许可证吗?为什么没有更多的人这样做,而不是需要重新安装可再发行组件?
中有4个文件
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT
。这是否意味着我只需要在安装过程中将它们复制到应用程序的目录中?
是的,您引用的段落就是这个意思。
这样可以吗?我需要出示许可证吗?为什么没有更多的人这样做,而不是需要重新安装可再发行组件?
从技术上讲,这是可以的。如果您想对其进行修养,可以在readme
或中help/about
加入注释,以表明VC++ 2015 redistributables provided in "local deployment" mode
Microsoft的Visual C ++部署中明确允许的效果。
至于为什么更多的人不这样做,我想(在所有关心的人中):
MyApp.exe
来说,通过静态链接的所有内容来构建它更容易,从而消除了外部依赖。"local deployment"
)运行会将更新的责任转移给维护者,因此,在进行关键/安全修复的情况下,必须及时重新发布该软件包-而不是"central deployment"
可能通过Windows Update交付该软件包,用好这两个和坏的,可能带来。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句