【问题标题】:Is there a "best" way to forcibly "uninstall" a product when the MSI fails during uninstall?当 MSI 在卸载过程中失败时,是否有强制“卸载”产品的“最佳”方法?
【发布时间】:2021-03-30 19:42:29
【问题描述】:

由于我的 CustomAction 中的错误,我的安装在卸载时失败。我已经修复了这个错误,但我现在有一台安装了该产品的测试机器,但我无法卸载它(不断回滚并保留)。

在过去(几​​年前),我使用 Windows SDK 附带的 msizap.exe。但它似乎不再伴随它了。我安装了,找不到。我唯一的猜测是它在 Windows 10 中不再相关。

无论如何,有没有最好的方法来强制删除产品,让 Windows 不再认为它已安装?

【问题讨论】:

  • 我稍微修改了答案,如果您已经阅读过,请再看一下。
  • 太棒了!谢谢!

标签: installation wix windows-installer


【解决方案1】:

msizap.exe:你说得对,msizap.exe 早就被弃用了。


卸载失败的解决方法:这个问题很常见。你可以找到a list of approaches for these kind of uninstall problems here

虚拟机:很明显,但要提一下,您应该检查虚拟机上的设置,以便在遇到“开发和QA 错误”之类的。

自定义操作标志:您还可以为每个自定义操作添加一个条件,以便您可以通过发送到 msiexec.exe

如果您的标志是一个属性 RUNCA="1",那么您可以通过命令行将此标志属性设置为 0 来禁用它 - 这有点像对软件包的卸载功能破坏进行一点预防 - 您可以在安装/卸载期间完全禁用自定义操作 - 它甚至可能对您的技术支持人员和实际安装有用:

msiexec.exe /x {PRODUCT-CODE} RUNCA=0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 2014-02-20
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多