我正在使用Wix 3.5和新的主要升级功能,我也使用WixUI_Advanced
来允许用户在每用户(默认)或每机器安装范围之间进行选择。
在安装具有相同每用户范围的较新版本时,主要升级适用于每用户安装范围。但是,当旧版本作为“每台计算机”范围安装时,使用“每台计算机”范围安装新版本实际上并不会将旧版本升级为新版本。相反,我在“程序和功能”中找到了2个已安装的实例。
我在StackOverflow中找到了这个问题和答案:Wix Major Upgrade and Install Context Issues。 Ciprian的唯一答案是再次执行FindRelatedProducts
动作。
我不知道如何再次执行FindRelatedProducts
。有没有人试过这个并看到它有效,如果有,怎么样?
非常感谢。
答案 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)
您可以在和中添加具有所需条件和序列的元素。虽然我没有遇到你的问题但无法确定这是否有帮助...