19

我在我的 exe 清单中使用了“highestAvailable”。但standard user and UAC ON它没有提升exe。

这是“highestAvailable”的行为吗?

我提到了这个MSDN 链接,但不清楚“highestavailable”是否会提升 exe。如果 UAC 打开,我的要求是提升 exe。

我更改为“requireAdministrator”,并且我的 exe 在 UAC ON 的标准用户中得到提升。

有人可以详细解释一下“highestAvailabe”和“requireAdministrator”这两个选项的提升行为吗?

4

1 回答 1

25

highestAvailable如果当前用户是管理员,将提升。这与您观察到的一致。当标准用户运行进程时,不会显示 UAC 对话框,进程会使用标准令牌运行。当管理员用户执行时,将显示 UAC 同意对话框,然后该过程将运行提升。

如果您的程序需要管理员权限才能运行,那么您需要使用requireAdministrator. 当标准用户启动这样的过程时,会显示肩上的UAC 对话框。这使用户有机会要求管理员提供他们的凭据。

highestAvailable当您的程序能够以有限的功能运行时才应使用,以防用户无法提升。这就是您的问题链接的 MSDN 主题中混合模式的含义。

于 2012-09-29T10:51:34.287 回答