使用Installshield和用户对话框卸载MSI时的权限提升

时间:2008-11-26 15:28:00

标签: installer windows-installer installshield uninstall

我需要实现以下目标: 卸载MSI应该提供一个用户对话框,基于Windows Installer知道如何删除软件(在这种情况下:用户必须选择是否删除数据库)。

在运行时,卸载过程也会触发自定义操作。所有这些操作都需要管理权限。

所以我需要让“程序和功能”在“删除”时显示完整的UI,或者在点击“更改”然后删除时显示管理权限对话框的身份验证。

我该怎么做?

1 个答案:

答案 0 :(得分:4)

供参考:

添加和删除程序(ARP),分别是程序和功能(在Vista +上)仅显示删除时的基本UI。显示对话框需要完整的UI。结果:此处无法进行用户交互。

<强>解决方案:

如果除了显示删除对话框之外别无其他方式,则需要禁用删除,并且必须通过将显示完整UI的“更改”选项触发删除过程。

其他信息:

如果涉及需要提升权限的自定义操作,则需要在系统上下文中将它们配置为延迟。这将使安装程序提升输入执行顺序的权限,从而显示需要管理权限的UAC对话框。