c++ - 分发原始 msvcp.dll 或安装 vc_redist.exe
问题描述
部署使用 MSVC 编译的应用程序,我应该包括从 VC 文件夹复制粘贴的 msvcp140.dll 和 vcruntime140.dll 与其他 .dll,还是分发 vc_redist.exe 安装程序,在每台用户计算机上安装环境?
什么是“正确”的方法,为什么?
解决方案
对于这种情况,没有经验法则或“正确方法”,而是选择一个而不是另一个的利弊。在我看来,这取决于产品/文件的部署方式。
- 如果文件未安装(从 zip 中提取或在安装程序之前运行),则将必要的 redist 放在同一文件中就足够了。可能是静态链接更好(?)
- 如果一切都是通过安装程序安装的,那么安装可再发行组件是一种更清洁的方式。已经有 可用于与安装程序甚至独立可执行文件集成的合并模块
不建议将必要的文件放在可以运行安装程序的文件夹中,因为使用每个较新版本(编译器和产品)更容易维护/更新 redist 文件
推荐阅读
- php - jquery min form-error 类在 cakephp 模型验证后隐藏我的表单控件
- c++ - 如何关闭一大块 Lua 代码
- mysql - 具有修改的列值而不重新创建表的范围分区表
- ios - 单击按钮时增加和减少值
- android - 与 Build.TAGS 交互的单元测试方法
- google-forms - 使用 URL 参数动态预填充 Google 表单
- symfony - 如何在服务 symfony 4 中使用多个实体管理器
- sorting - 如何在经典 ASP 中进行自然排序?
- oracle-jet - 使用 JSON 数据绑定 Ojet 树视图
- flutter - Flutter Inherited Widget - 缺少一些监听器