WiX Web安装程序和独立安装程序是否都显示在“添加/删除程序”中?

时间:2015-06-17 00:12:38

标签: wix wix3.9

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

我们遇到一种情况,用户可能会从Web安装程序安装一个软件包,而另一个软件包则从完整安装程序安装。它可能不会经常发生,但可能会发生。当用户执行此操作时,我们在“添加/删除程序”控制面板中有两个条目。由于我们没有以不同的方式命名安装程序,因此看起来安装程序已安装两次。

我的问题是,如果使用WiX创建的两个安装程序之间的唯一区别是获取程序包的方式,它是否应该只在添加/删除程序中出现一次?我是否需要在某处设置代码才能说它是相同的安装程序?

我想我们可以将它们命名为不同,以便“添加/删除程序”中出现“Web”和“完整”安装程序,但是当您运行任何一个时,两个软件包都会显示卸载,因为两个安装程序都知道它们。它不像Web安装程序只显示通过它安装的软件包以及通过它安装的软件包。

感谢任何评论。

1 个答案:

答案 0 :(得分:1)

在版本升级方案中,对两个<Bundle...>包使用相同的UpgradeCode足以表明两个安装程序是同一产品。例如,如果您首先安装软件包V1.0及更高版本安装软件包V1.1(其中两个软件包使用相同的升级代码),软件包V1.1将替换添加/删除程序中的软件包V1.0。

不幸的是,刻录引擎不支持相同的版本升级。如果您使用相同版本的相同升级代码的不同软件包,则这两个软件包都将显示在添加/删除程序中。有关不支持相同版本升级的刻录的详细信息,请参阅:http://wixtoolset.org/issues/3746/

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

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

您建议在添加/删除程序中更改软件包的名称以区分它们,这听起来是最实用的方法。有两个条目似乎不会危及安装状态,并且升级似乎没有问题处理。