为什么Major Upgrade不升级以前的Per-Machine安装?

时间:2012-08-21 03:19:45

标签: wix wix3.5 major-upgrade

我正在使用Wix 3.5和新的主要升级功能,我也使用WixUI_Advanced来允许用户在每用户(默认)或每机器安装范围之间进行选择。

在安装具有相同每用户范围的较新版本时,主要升级适用于每用户安装范围。但是,当旧版本作为“每台计算机”范围安装时,使用“每台计算机”范围安装新版本实际上并不会将旧版本升级为新版本。相反,我在“程序和功能”中找到了2个已安装的实例。

我在StackOverflow中找到了这个问题和答案:Wix Major Upgrade and Install Context Issues。 Ciprian的唯一答案是再次执行FindRelatedProducts动作。

我不知道如何再次执行FindRelatedProducts。有没有人试过这个并看到它有效,如果有,怎么样?

非常感谢。

2 个答案:

答案 0 :(得分:3)

我设法通过在用户选择PerMachine范围然后单击InstallScopeDlg对话框上的Next按钮后执行FindRelatedProducts操作来解决此问题:

< UI Id =“CustomWixUI_Advanced”>

...

< Publish Dialog =“CustomInstallScopeDlg”Control =“Next”Event =“NewDialog”Value =“InstallDirDlg”Order =“7”> WixAppFolder =“WixPerMachineFolder”< / Publish>

< - 当用户选择PerMachine安装范围然后单击InstallScopeDlg上的Next按钮时,我们构建Windows Installer以执行FindRelatedProducts操作的方式 - >

< Publish Dialog =“CustomInstallScopeDlg”Control =“Next”Order =“8”Event =“DoAction”Value =“FindRelatedProducts”> WixAppFolder =“WixPerMachineFolder”< / Publish>

< / UI Id =“CustomWixUI_Advanced”>

答案 1 :(得分:1)

您可以在和中添加具有所需条件和序列的元素。虽然我没有遇到你的问题但无法确定这是否有帮助...