WiX 网络安装程序和独立安装程序是否应该同时出现在 Add/Remove 程序中?

Should a WiX web installer and stand-alone installer both show up in Add/Remove programs?

我们有两个使用我们自己的 BA 的 WiX 安装程序。一个安装程序从 web 获取所有包,而另一个从 exe 获取所有包。我们称他们为 "Web" 和 "Full" 安装人员。

我们有这样一种情况,用户可能从网络安装程序安装一个包,而从完整安装程序安装另一个包。它可能不会经常发生,但它可能会发生。当用户这样做时,我们在 Add/Remove 程序控制面板中有两个条目。由于我们没有对安装程序进行不同的命名,所以看起来安装程序安装了两次。

我的问题是,如果使用 WiX 创建的两个安装程序之间的唯一区别是包的获取方式,那么它不应该只在 Add/Remove 程序中出现一次吗?我需要在某处设置一个代码来表明它是同一个安装程序吗?

我想我们可以给它们取不同的名字,这样 "Web" 和 "Full" 安装程序就会出现在 Add/Remove 程序中,但是当你 运行 任何一个,都软件包显示为卸载,因为两个安装程序都知道它们。它不像网络安装程序只显示通过它安装的包和通过它安装的完整包。

如有任何意见,我们将不胜感激。

在版本升级场景中,对两个 <Bundle...> 包使用相同的 UpgradeCode 足以表明两个安装程序是同一产品。例如,如果您先安装软件包 V1.0,然后再安装软件包 V1.1(两个软件包使用相同的升级代码),则软件包 V1.1 将替换 Add/Remove 程序中的软件包 V1.0.

遗憾的是刻录引擎不支持同版本升级。如果您有具有相同升级代码 相同版本的不同包,这两个包将出现在 Add/Remove 程序 中。有关不支持相同版本升级的刻录的更多信息,请参阅:http://wixtoolset.org/issues/3746/.

安装两个具有相同升级代码 版本的不同软件包表现良好。例如,如果您安装了两个包并随后删除了其中一个,则第一个包中的资源将保持安装状态,即使相同的资源也存在于第二个包中。

安装两个具有相同升级代码 版本的不同软件包,然后安装具有相同升级代码但更高版本的第三个软件包也表现良好。第三个包替换前两个包!

您关于改变包名称以在 Add/Remove 程序 中区分它们的建议听起来是最实用的方法。有两个条目似乎不会影响安装状态,而且升级似乎没有问题。