2011-01-27 77 views
2

当通过双击我通过WIX创建的MSI卸载应用程序时,我得到了我设计的“更改,修复,删除”对话框。但是,当通过添加/删除程序或从命令行通过msiexec /x卸载时,我没有。我所得到的是“你确定要卸载这个程序吗?”MSI Unistall:如何强制卸载用户界面序列

我想强制用户在卸载时总是提示“更改,修复,删除”对话框。原因是我在移除时调用了一些自定义UI。另一种选择是始终强制用户通过我设计的“删除”UI顺序。

有关如何使用WiX做到这一点的任何提示?

回答

1

最简单的方法是将ARPNOREMOVE property设置为。

这样用户只能选择更改或修改,并且使用完整UI 。覆盖安装按钮有点复杂,通常不值得。

+0

设置该属性后,双击添加/删除程序中的应用程序时,我会直接进入修复模式,无需用户界面。我需要做什么才能让用户界面启动?下一个问题是,一旦我得到用户界面启动,我需要做什么来创建一个删除选项? – 2011-01-27 19:16:37

+0

一旦你显示了UI,你可以设置属性Remove =“All”来卸载你的产品。 – 2011-01-27 20:21:01

1

如果你只是使用微星,你不能控制这一点。通常要强制执行卸载UI序列,您需要实施引导程序并使用所需的UILevel调用MSI,而不是让ARP直接调用MSI。

1

如果你想在InstallUISequence表显示对话框时卸载,试试吧:
STEP 1:条件显示对话框中UISequence表REMOVE = “ALL”
STEP 2:“MSIEXEC。 exe/x {ProductCode}/qf“
qf:Full UI
祝你好运!