运行 removeExistingProducts 时,Windows Installer Major Upgrade 失败,原因是先前自定义操作的提升检查

问题描述

我遇到了一个我似乎无法弄清楚的问题。我正在使用 Wix 为我们的产品开发一个新的安装程序,这将是我们现有产品的重大升级。现有的产品安装程序是使用 InstallShield 构建的(不确定这对我的问题是否重要)。
我面临的问题是当我运行我的新安装程序来升级产品版本时,安装失败,因为在作为 RemoveExistingProducts 阶段的一部分卸载期间运行(并失败)之前的安装程序中有一个自定义操作我的升级。此自定义操作只是通过运行脚本来读取注册表项来验证用户是否以提升的/管理员权限运行。在这次卸载过程中它失败了,大概是因为它没有被提升。

我正在开发的这个新安装程序,我相信,它是在提升模式下运行所需的一切。如:

<Package InstallerVersion="300" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" Platform="$(var.Platform)"/>

<Condition Message="You need to be an administrator to install this product.">
    <![CDATA[Privileged]]>
</Condition>

当我运行此安装程序时,我确实收到了以提升用户身份运行此安装程序的 Windows 提示,并且其中有一个不相关的自定义操作需要此提升并且可以正常工作......但是,每当它是一个重大升级时安装了以前的版本,旧的安装程序自定义操作失败。我的想法是,当条件为“UPGRADINGPRODUCTCODE”时,这个旧安装程序可能需要设置特权。但是,我现在无能为力,因为已经安装了这个旧版本等......
有什么方法可以确保在 removeExistingProducts 阶段之前的卸载以提升的权限运行?或者有谁知道如何在我的新安装程序中解决这个问题? 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)