我使用的是具有新的主要升级功能的Wix 3.5,我还使用WixUI_Advanced
允许用户在每个用户(默认)或每个机器的安装范围之间进行选择。
当使用相同的每个用户范围安装新版本时,主升级适用于每个用户的安装范围。但是,当旧版本是按"每台机器"范围安装时,按"每部机器"范围的新版本实际上并不会将旧版本升级为新版本。相反,我在"程序和功能"中找到了2个已安装的实例。
我从StackOverflow中找到了这个问题和答案:Wix主要升级和安装上下文问题。Ciprian的唯一答案是再次执行FindRelatedProducts
操作。
我不知道如何再次执行FindRelatedProducts
。有没有人尝试过并看到它的效果,如果有,如何?
非常感谢。
在用户选择PerMachine范围后,我通过执行FindRelatedProducts操作来解决此问题,然后单击InstallScopeDlg对话框上的"下一步"按钮:
<UI Id="CustomWixUI_Advanced">
<发布对话框="CustomInstallScopeDelg"Control="Next"事件="NewDialog"值="InstallDirDlg"订单="7">WixAppFolder="WixPerMachineFolder"<发布>
<--以下是当用户选择PerMachine安装范围,然后单击InstallScopeDlg上的"下一步"按钮时,我们如何构造Windows安装程序以执行FindRelatedProducts操作-->
<发布对话框="CustomInstallScopeDelg"Control="Next"订单="8"事件="DoAction"值="FindRelatedProducts">WixAppFolder="WixPerMachineFolder"<发布>
<UI Id="CustomWixUI_Advanced">
您可以在和中添加具有必需条件和序列的元素。虽然我没有遇到你的问题,也不能确定这是否会有所帮助。。。