Inno Setup 在 Windows XP with PrivilegesRequired=none 上不弹出 UAC 提示
Inno Setup does not popup UAC prompt on Windows XP with PrivilegesRequired=none
我在 Inno Setup 中做 PrivilegesRequired=none
。
如果用户具有管理权限,此设置应提示 UAC。
在一些 Windows XP 的计算机上,即使管理员已登录,UAC 也不会得到提示,我通过检查 IsAdminLoggedOn
设置验证了这一点,我看到它被设置为True
.
为什么会这样?
如果IsAdminLoggedOn
returnsTrue
,安装程序已经运行管理员权限("elevated").
请注意,Windows XP 中没有权限分离。如果与您 运行 一起安装程序的用户是管理员,则您始终拥有管理员权限。 Windows XP 中没有 UAC 提示。
您可以在 Windows XP 中获得的唯一提示是 "Run as" 提示,它允许您以不同的用户(通常是管理员)身份 运行 和 application/installer。
通过使用(未记录和弃用的)PrivilegesRequired=none
,您实际上明确地告诉 Inno Setup 不要提升 安装程序,即使它是开始不高架。你通常得到 UAC/Run As 提示只是因为 Windows 内部启发式检测到你正在启动的 .exe
是一个安装程序,可能需要 运行升高。
详见我的问题Make Inno Setup installer request privileges elevation only when needed。
我在 Inno Setup 中做 PrivilegesRequired=none
。
如果用户具有管理权限,此设置应提示 UAC。
在一些 Windows XP 的计算机上,即使管理员已登录,UAC 也不会得到提示,我通过检查 IsAdminLoggedOn
设置验证了这一点,我看到它被设置为True
.
为什么会这样?
如果
IsAdminLoggedOn
returnsTrue
,安装程序已经运行管理员权限("elevated").请注意,Windows XP 中没有权限分离。如果与您 运行 一起安装程序的用户是管理员,则您始终拥有管理员权限。 Windows XP 中没有 UAC 提示。
您可以在 Windows XP 中获得的唯一提示是 "Run as" 提示,它允许您以不同的用户(通常是管理员)身份 运行 和 application/installer。
通过使用(未记录和弃用的)
PrivilegesRequired=none
,您实际上明确地告诉 Inno Setup 不要提升 安装程序,即使它是开始不高架。你通常得到 UAC/Run As 提示只是因为 Windows 内部启发式检测到你正在启动的.exe
是一个安装程序,可能需要 运行升高。详见我的问题Make Inno Setup installer request privileges elevation only when needed。