用于在 Windows 7 上部署使用 Visual Studio 2015 开发的 C++ exe 的可再发行组件

2024-01-16

我使用 Visual Studio 2015(在 Windows 10 上)开发了一个 32 位 C++ 应用程序。我想将其部署到运行 Windows 7 及更高版本的计算机上。

我组装了一个 WiX 安装程序,并包含了 VC++ 可再发行合并模块,如下所述here http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html。我包含的合并模块是C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC140_CRT_x86.msm.

该安装程序似乎工作正常,但在 Windows 7 上安装的程序将无法运行,并抱怨缺少api-ms-win-crt-runtime-l1-1-0.dll.

通过搜索,我怀疑可再发行包中可能存在额外的文件vc_redist.x86.exe from here https://www.microsoft.com/en-us/download/details.aspx?id=48145,但 WiX 文档告诉我使用 msm 而不是 exe。

也有可能合并模块安装失败。我没有看到任何错误,但我没有在启用日志的情况下重新运行它来检查这种可能性。

另一种选择可能是使用burn但我对这个工具不熟悉;如果这条路是正确的,我会走这条路,但如果可能的话,我更愿意坚持使用 MSI。


Visual Studio 2015 中的 VC++ 运行时可再发行组件变得更加复杂。请参阅风险投资团队博客文章 http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx关于通用 CRT。基本上,合并模块是不够的:

通用 CRT 不会有合并模块。如果您当前使用 CRT 合并模块并且仍想集中部署 Visual C++ 库,我们建议您移至上述 Windows 更新包或 VCRedist。或者,您可以选择静态链接到通用 CRT 和 Visual C++ 库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于在 Windows 7 上部署使用 Visual Studio 2015 开发的 C++ exe 的可再发行组件 的相关文章

随机推荐

  • Oracle 触发器错误 ORA-04091

    执行触发器时出现错误 ORA 04091 表 DBPROJEKT AKTIENDEPOT AKTIE 正在发生变化 触发器 函数可能看不到它 CREATE OR REPLACE TRIGGER Aktien Bilanz Berechnun
  • Flask 应用程序崩溃(很可能是由于循环导入)

    我在这里遵循了本教程 https youtu be mISFEwojJmE t 367 https youtu be mISFEwojJmE 这是一个非常简单的 Flask 应用程序 用于为站点创建用户登录和注册页面 到目前为止 本教程中的
  • 如何在wxpython框架中拖动图像

    在 wx 窗口中拖动图像 或文本 的最简单方法是什么 我需要一些步骤或一个小例子来说明如何做到这一点 提前感谢 看一下 wxPython 演示中的 PseudoDC 示例 该示例在窗口中显示一些随机形状 您可以抓取并移动它们 您应该能够应用
  • 如何在 Nightwatch 中运行单个测试

    我怎样才能只跑Test 3从以下测试中 module exports Test 1 function Test 2 function Test 3 function 一个新参数 测试用例已添加以运行指定的测试用例 nightwatch js
  • 具有记忆功能的斐波那契数在 Python 中运行缓慢?

    def fib n if n 1 return 0 if n 2 return 1 return fib n 2 fib n 1 def memo f cache def memoized n if n not in cache cache
  • Python中的递归(阶乘函数)

    我希望这不是一个太愚蠢的问题 但是为什么这段 Python 代码中的 return 1 语句会返回数字的阶乘 return True 也会发生这种情况 我理解它相当于 return 1 def factorial n if n 0 retu
  • VBA - 运行时错误 1004“应用程序定义或对象定义错误”

    我有一个 Excel 文档 它在第一次运行时将模板工作表复制到新工作表中 遵循此模板的任何其他工作表都会附加到新创建的工作表中 我在这部分代码的标题中收到错误 If Worksheets User Configuration Cells 9
  • 在外键中使用Django的bulk_create对象?

    我正在阅读 Djangobulk create 及其一些 缺陷 This has a number of caveats though 1 The model s save method will not be called and the
  • 如何保持页面上的对象随页面顶部滚动

    我在遵循 stackOverflow 问答时遇到问题 滚动时将对象固定到浏览器窗口顶部 https stackoverflow com questions 6980821 fix object to top of browser windo
  • CPU 因 attributeOfItemAtPath:error: 而引发

    我在用 NSFileManager attributesOfItemAtPath error 获取文件属性的函数 但有时我的应用程序 cpu 会达到 100 我正在使用此函数处理 100k 大约 个文件 我的申请样本 2128 NSFile
  • ORMLite Android 中的一对多关系

    如何在 ORMLite Android 中实现一对多关系 请找到示例 public class A private String name DatabaseField foreign true foreignAutoRefresh true
  • 将“page-break-before”应用于表行 (tr)

    根据 W3 org 的说法 这种风格page break after适用于块级元素 http www w3 org TR 2004 CR CSS21 20040225 page html page break props http www
  • 检测到 DisconnectedContext

    我需要帮助消除此错误 为此 RuntimeCallableWrapper 转换到 COM 上下文 0x465608 失败并出现以下错误 系统调用失败 例外情况来自 HRESULT 0x80010100 RPC E SYS CALL FAIL
  • ight_layout() 不考虑图副标题

    如果我向 matplotlib 图添加副标题 它就会被子图的标题覆盖 有人知道如何轻松解决这个问题吗 我尝试过tight layout 功能 但这只会让事情变得更糟 Example import numpy as np import mat
  • docker 卷类型之间的区别 - 绑定与卷

    TLDR In docker compose 有什么区别 volumes type volume source mydata target data and volumes type bind source mydata target da
  • Java锁概念内部是如何工作的?

    类的每个实例Object 及其子类 拥有一个在进入某个对象时获得的锁synchronized方法并在退出时自动释放 这是否意味着我们创建的任何对象实例在内部默认都有一个 锁 作为字段实现 我对这个 锁 概念感到困惑 我想知道它内部实际上做了
  • 两个列表之间的差异

    我有两个填充了 CustomsObjects 的通用列表 我需要在第三个列表中检索这两个列表之间的差异 第一个列表中的项目 第二个列表中的项目 我在想使用 Except 是个好主意 但我不知道如何使用它 帮助 Using Except这正是
  • 在该命名空间中的另一个函数内转发声明该命名空间中的函数

    我有两个源文件 a cpp and b cpp In a cpp 我有一个函数 foo namespace ns void foo std cout lt lt foo In b cpp 我在命名空间中有另一个函数ns我想在其中制作原型并调
  • 在 jar 启动时预加载 java 类/库?

    在对服务器的第一次 RPC 调用期间发生超时 但后续请求成功 服务器响应超时 因为第一次调用时它会加载处理请求所需的库 由于这种延迟 一些客户端会超时 尽管可以增加客户端的超时延迟 但我希望最大限度地减少类加载对应用程序响应能力的影响 您将
  • 用于在 Windows 7 上部署使用 Visual Studio 2015 开发的 C++ exe 的可再发行组件

    我使用 Visual Studio 2015 在 Windows 10 上 开发了一个 32 位 C 应用程序 我想将其部署到运行 Windows 7 及更高版本的计算机上 我组装了一个 WiX 安装程序 并包含了 VC 可再发行合并模块