我正在使用WIX制作安装程序包。当我通过双击原始MSI包卸载程序包时一切正常。
当我从控制面板卸载时,它会给我一个最小化的UI卸载。我已经在我的MSI中编写了一个自定义操作,询问用户是否要卸载某些数据库等。这在最小UI卸载中不会发生。
如何使控制面板中的卸载具有完整的UI界面?
当我从控制面板卸载时,它会给我一个最小化的UI卸载。我已经在我的MSI中编写了一个自定义操作,询问用户是否要卸载某些数据库等。这在最小UI卸载中不会发生。
如何使控制面板中的卸载具有完整的UI界面?
是的,这是“添加/删除程序”小程序的行为。它总是在提示后以基本模式卸载MSI包。你唯一能做的就是设置ARPNOREMOVE来强制用户使用维护模式,并在维护UI中显示“删除”选项。
使用MSI本身无法实现该功能,您需要参考引导程序/外部UI来进行卸载。本问题的其他答案指向了正确的方向。
您可以通过删除HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{YourProductCode}下的'ModifyPath'注册表值,并在维护对话框中放置删除和更改选项,使ARP菜单仅显示删除/更改按钮(它将打开您的维护对话框)。
PS. 要应用此方法,请确保您没有在上述注册表键下设置以下任何注册表值为1:NoRepair、NoRemove、NoModify、WindowsInstaller。
查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中您产品的注册表键。在那里查看卸载值,并查看是否调整它可以实现您想要的效果。
我相信MSI中有一个属性可以解决这个问题,但我无法立即记起来。搜索MSI中与注册表中找到的字符串相匹配的内容应该可以帮助您找到答案。