20得票1回答
合并模块是什么,以及它们如何使用?

什么是合并模块(merge modules)?它们如何使用?我听说它们是.msm文件,但我以前从未见过(我只看到过.msi文件)。 当您创建.msi文件时,它们是否会被使用?它们是否随商业软件一起分发(可能与.msi文件一起)? 它们的作用是什么?是为了隐藏安装程序的实现,使常见第三方或M...

19得票2回答
如何在WiX中执行仅在安装或卸载时执行的自定义操作?

我有两个自定义操作,其中一个希望在我的产品安装时执行,另一个在卸载时执行。 我的自定义操作目前是从合并模块中的“InstallFinalize”后调用的,但这会同时发生在安装和卸载时。我尝试添加“NOT INSTALLED AND NOT UPGRADINGPRODUCTCODE”条件,但出...

18得票2回答
如何将wxi文件包含到wxs中?

根据优秀建议,我将一些变量移动到WXI文件中。我如何在WXS文件中包含它?

12得票5回答
从合并模块中提取文件

我想要的是一个命令行工具,可以从合并模块 (.msm) 中提取文件到磁盘。换句话说,我希望能够使用与 MSI 相同的 "管理安装" 功能: msiexec /a myProduct.msi TARGETDIR="C:\myInstallation" /qn 以上命令只适用于 msi 文件(...

11得票1回答
使用COM从注册表加载类在ToolsVersion="2.0"下可以正常工作,但在ToolsVersion="4.0"下失败了。

我有一个 C# 项目,它使用一个内部的 VB 项目作为 COM。 当我将这个项目转换到 VS 2010 后,下面的代码行抛出了一个异常:Set RTCClient_ = New RTCCORELib.RTCClient RTCCore.RTCClient是Microsoft合并模块RTC的一...

10得票3回答
MSI参考计数:两个产品安装相同的MSI

当产品A和B都安装了多个MSI且其中一些MSI是相同的,卸载A或B会影响另一个吗? 安装位置是否重要? 另外,当共享的MSI C在Product B中的版本较高并且B在安装时升级了C时会发生什么? 现在卸载B将删除共享的MSI C,从而破坏Product A。如何优雅地处理此问题而不使用Pe...

9得票2回答
如何进行合并模块升级?

我可以找到很多有关于msi升级的信息。例如,有关于小型升级、中型升级、大型升级的信息,以及它们的使用案例和限制。然而,我无法找到关于合并模块升级行为的信息,例如: 看起来msm没有任何方式来指定小型、中型或大型升级。那么它的行为是怎样的呢?它会先卸载旧版本还是仅更新更改的文件? 是否有办法...

8得票1回答
Visual Studio 2017的Visual C++可再发行组件的MSM文件在哪里?

我已经使用VS 2015一段时间了,昨天(2017-03-07)升级到了VS 2017。我只安装了.NET桌面和C++桌面工作流程,没有更改任何其他组件。 我考虑将我的C++项目迁移到2017工具链(版本为“141”?2015是“140”)。我需要使用VC合并模块进行安装程序,所以我查看了“...