我有一个使用Wix进行安装和卸载的ASP.NET Core Web应用程序。
当我从程序和功能中卸载MSI时,我想创建一个确认对话框(是/否),我点击该程序和功能时删除此应用程序。
是否可以在msi开始卸载之前添加对话框。
如果我在对话框上单击是,则msi将继续卸载
如果我点击msi存在并且没有卸载
背景资料: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
的ARP applet
按钮调用它时,你以静默模式运行卸载。这意味着跳过整个InstallUISequence
并且只运行InstallExecuteSequence
- 并且不应该显示此序列中的对话框。
选项:我可以想到几个选项。
InstallExecuteSequence
中插入显示提示的自定义动作,但不建议这样做。您必须非常好地调整它以确保它不会出现意外情况。这将需要检测到它不是一个重大升级和其他一些我不建议尝试的事情。太多的事情要解决,太多的事情可能会出错。
- 仅修改按钮:您可以隐藏
Uninstall button
并在ARP applet对话框中保留"Modify"
吗? 这样,您的设置将在GUI模式下触发,如果您愿意,可以在那里插入一个对话框,但您也有很多机会在调用之前取消卸载。你甚至不需要额外的对话框? 为此,请在属性表中设置:ARPNOREPAIR = 1
和ARPNOREMOVE = 1
。
链接: