在MSI进度条之前,对程序和功能进行Wix卸载确认对话框(是/否)

时间:2019-03-15 15:16:24

标签: visual-studio wix windows-installer msiexec orca

我有一个使用Wix进行安装和卸载的ASP.NET Core Web应用程序。

当我从程序和功能中卸载MSI时,我想在单击删除程序和功能上的此应用程序时创建一个确认对话框(是/否)。

是否可以在msi开始卸载之前添加对话框。

如果我在对话框中单击“是”,则msi只会继续卸载

如果我单击不存在,则msi不会卸载

1 个答案:

答案 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

    •   
  •   

链接