我想创建一个使用WIX的独立静默卸载程序,我可以发送给特定人员以获得支持目的,当卸载程序无法正常工作时,可以通过双击执行卸载产品机器并不再存在(某些用户使用其他工具手动删除)。我有一个.wxs文件,它使用与以前安装的程序相同的产品ID和软件包ID,如果我从msiexec/x运行,它会完美卸载以前安装的产品。双击它(所有这些用户都可以这样做)然而运行安装,而不是卸载。我尝试添加独立的WIX卸载程序
<Property Id="REMOVE" Value="ALL"/>
<Property Id="ACTION" Value="UNINSTALL"/>
,并确保所有InstallExecuteSequence动作不使用“安装”检查,但该产品仍安装成功运行后,日志文件显示它仍在执行操作安装:
MSI (c)(A8:F8)[15:42:08:324]:财产变更:加入ACTION财产。它的值是'INSTALL'。 MSI(c)(A8:F8)[15:42:08:324]:注意:1:2205 2(A8:F8)[15:42:08:32] :3:ActionText 操作15:42:08:INSTALL。 行动开始15:42:08:INSTALL。
有没有办法强制.msi文件执行卸载而不使用命令行或添加/删除程序条目?我已经看过有关使用ARPSYSTEMCOMPONENT的条目,但没有足够的信息来执行此操作。
[ARPSYSTEMCOMPONENT](http://msdn.microsoft.com/en-us/library/aa367750%28v=vs.85%29.aspx)与Windows Installer的行为无关。它所做的就是向ARP(程序和功能fka添加/删除程序)建议它不显示Windows安装程序在安装时创建并在卸载时删除的卸载条目。 –