分发原始 msvcp.dll 或安装 vc_redist.exe

Posted

技术标签:

【中文标题】分发原始 msvcp.dll 或安装 vc_redist.exe【英文标题】:Distributing raw msvcp.dll or installing vc_redist.exe 【发布时间】:2019-01-30 15:21:00 【问题描述】:

部署使用MSVC编译的应用程序,我应该包括从VC文件夹复制粘贴的msvcp140.dll和vcruntime140.dll与其他.dll,还是分发vc_redist.exe安装程序,在每台用户计算机上安装环境?

什么是“正确”的方法,为什么?

【问题讨论】:

【参考方案1】:

对于这种情况,没有经验法则或“正确方法”,而是选择一个而不是另一个的利弊。在我看来,这取决于产品/文件的部署方式。

如果文件未安装(从 zip 中提取或在安装程序之前运行),则将必要的 redist 放在同一文件中就足够了。可能是静态链接更好(?) 如果一切都是通过安装程序安装的,那么安装可再发行组件是一种更简洁的方法。已经有 merge modules 可用于与安装程序甚至独立的可执行文件集成

不建议将必要的文件放在可以运行安装程序的文件夹中,因为使用每个较新版本(编译器和产品)更容易维护/更新 redist 文件

【讨论】:

以上是关于分发原始 msvcp.dll 或安装 vc_redist.exe的主要内容,如果未能解决你的问题,请参考以下文章

opencv配置错误 -- msvcp120d.dll文件丢失

利用组策略分发软件

运维实战 CDN内容分发网络

重新创建分发证书

Vue内容分发slot

Vue内容分发slot