我有一个使用Wix进行安装和卸载的ASP.NET Core Web应用程序。
当我从程序和功能中卸载MSI时,我想在单击删除程序和功能上的此应用程序时创建一个确认对话框(是/否)。
是否可以在msi开始卸载之前添加对话框。
如果我在对话框中单击“是”,则msi只会继续卸载
如果我单击不存在,则msi不会卸载
答案 0 :(得分:0)
背景信息 :About the Add / Remove Programs Buttons(朝下)。
默认 :在尝试卸载WiX MSI文件时,在得到UAC提升提示之前,确实出现了 "are you sure you want to uninstall"
对话框至少?不过,有一个 "do not show this dialog again"
复选框。 Windows 10。
静默模式 :问题是您从 Uninstall
<调用卸载时,以静默模式运行卸载/ strong>按钮中的 ARP applet
。这意味着整个 InstallUISequence
被跳过,只有 InstallExecuteSequence
运行-并且此序列中不应显示任何对话框。
选项 :我可以想到几个选项。
InstallExecuteSequence
中插入显示提示的自定义操作,但并非如此推荐的。您必须很好地调节它,以确保它不会意外显示。这将需要检测到它不是主要升级,并且我不建议尝试其他许多事情。要解决的事情太多了,可能出错了。
仅修改按钮 :您可以隐藏
Uninstall button
并仅保留 {{1} } 位于ARP小程序对话框中?
那个 在GUI模式下触发设置的方式,您可以插入一个 如果愿意,可以在那里进行对话,但是您也有很多机会 取消卸载,然后再调用它。 您什至不需要额外的对话框?
要实现此目的,请在属性表中设置:
"Modify"
和ARPNOREPAIR = 1
。
链接 :