我在我的exe的清单中使用了“highestAvailable”。但是在standard user and UAC ON
它没有提升exe。
这是“highestAvailable”的行为吗?
我提到了MSDN link,但不清楚“最高可用性”是否会提升exe。如果UAC开启,我的要求是提升exe。
我改为“requireAdministrator”,我的exe在UAC ON的标准用户中升级。
有人可以详细解释一下这两个选项“highestAvailabe”和“requireAdministrator”的提升行为吗?
答案 0 :(得分:23)
highestAvailable
将提升。这与您观察到的一致。当标准用户运行该过程时,不会显示UAC对话框,并且该过程将使用标准令牌运行。执行admin用户时,将显示UAC同意对话框,然后该进程将升级。
如果您的程序需要管理员权限才能运行,那么您需要使用requireAdministrator
。当标准用户启动此类过程时,将显示 over-the-shoulder UAC对话框。这使用户有机会要求管理员提供他们的凭据。
如果您的程序能够以有限的功能运行以防用户无法提升,则只应使用highestAvailable
。这就是您的问题链接的MSDN主题中混合模式的含义。