【发布时间】:2017-03-03 17:05:53
【问题描述】:
我有两个产品正在尝试为其编写安装程序。两种产品都是 wix 捆绑包,它们都需要第三个产品捆绑包。
理想情况下,当您安装一个时,我希望发生的是:
- 如果 Product3 未安装,则应该安装。
- 如果安装了 Product3 并且安装的版本更高或相同,则什么也不做。
- 如果安装了 Product3 并且安装的版本较低,则升级。
- 如果卸载并且产品 1 或 2 仍然安装,请不要卸载产品 3。
到目前为止,我能够征服其中的一些点,但不是同时完成的。
最初我尝试使用 ProductSearch 和 InstallCommand 获取已安装的版本。但是,我在并行安装时遇到了卸载问题,因为 installcommand 更像是“请求的安装状态”,所以如果我不想在它检测到相同版本时安装它,它实际上会开始卸载它。
我看了这个类似的答案:
它建议使用 provideskey 和 requires 元素,但我找不到任何有用的文档。我试过用它做实验,但它似乎什么也没做。
我看过RelatedBundle,但我不确定这是我想要的。似乎更针对修复系统。
我希望有一种方法可以做到这一点,而不必诉诸自定义操作,因为这对于看似相当简单的功能来说似乎有点极端。
【问题讨论】:
标签: wix upgrade uninstallation side-by-side