微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决运行 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 举报,一经查实,本站将立刻删除。