Installation 是否有一个“问题”;“最佳”;“强行”的方式;卸载";当MSI在卸载过程中失败时的产品?

Installation 是否有一个“问题”;“最佳”;“强行”的方式;卸载";当MSI在卸载过程中失败时的产品?,installation,wix,windows-installer,Installation,Wix,Windows Installer,由于CustomAction中的错误,我的安装在卸载时失败。我已经修复了这个bug,但是我现在有一台安装了该产品的测试机器,我无法卸载它(一直回滚并保留) 在过去(几年前),我使用了Windows SDK附带的msizap.exe。但它似乎不再随它而来了。我安装了它,但找不到它。我唯一的猜测是它在Windows10中不再相关 无论如何,有没有最好的方法强制删除该产品,使Windows不再认为它已安装?msizap.exe:您是对的,msizap.exe早就被弃用了 中断的卸载解决方法:此问题非

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

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

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

msizap.exe:您是对的,
msizap.exe
早就被弃用了


中断的卸载解决方法:此问题非常常见。你可以找到

  • 最简单、最快的方法可能就是使用删除包。从外观上看,这基本上是“注销”,在这方面与msizap.exe类似
  • 如果这只是一台机器,您可以使用Orca(,)攻击缓存的安装数据库-如果它涉及多台机器,您应该制作一个补丁。请参阅上面链接中的详细信息
虚拟机:这是显而易见的,但请注意,您应该检查虚拟机上的设置,以便在遇到此类“开发和QA错误”时可以恢复虚拟机

自定义操作标志:您还可以向每个自定义操作添加一个条件,以便通过发送到
msiexec.exe的自定义命令行禁用整个自定义操作的运行

如果您的标志是一个属性
RUNCA=“1”
,然后,您可以通过命令行将此标志属性设置为
0
来禁用它-这有点像是对软件包卸载功能破坏的预防-您可以在安装/卸载过程中禁用自定义操作-它甚至可能对您的技术支持人员和现实世界有用安装:

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

我修改了一下答案,如果你已经读过,请再看一看。太棒了!谢谢