【问题标题】:Inno Setup does not popup UAC prompt on Windows XP with PrivilegesRequired=noneInno Setup 不会在 PrivilegesRequired=none 的 Windows XP 上弹出 UAC 提示
【发布时间】:2016-06-19 21:19:44
【问题描述】:
在 Inno Setup 中,我使用 PrivilegesRequired=none。
如果用户具有管理权限,此设置应提示 UAC。
在某些 Windows XP 计算机上,即使管理员已登录,UAC 也不会得到提示,我通过检查 IsAdminLoggedOn 设置验证了这一点,我看到它被设置为 True。
为什么会这样?
【问题讨论】:
标签:
inno-setup
uac
privileges
elevated-privileges
【解决方案1】:
-
如果IsAdminLoggedOn 返回True,则安装程序已经以管理员权限运行(“提升”)。
请注意,Windows XP 中没有权限分离。如果运行安装程序的用户是管理员,则您始终拥有管理员权限。 Windows XP 中没有 UAC 提示。
您可以在 Windows XP 中获得的唯一提示是“运行身份”提示,它允许您以其他用户(通常是管理员)的身份运行应用程序/安装程序。
-
通过使用(未记录且已弃用)PrivilegesRequired=none,您实际上明确告诉 Inno Setup不要提升安装程序,即使它启动时未提升。无论如何,您通常都会收到 UAC/Run As 提示,这完全是因为 Windows 内部启发式检测到您正在启动的 .exe 是一个安装程序,并且可能需要提升运行。
详情请看我的问题Make Inno Setup installer request privileges elevation only when needed。