我在 Windows 10 中运行应用程序安装程序。它的清单说它应该以管理员权限运行。如果我使用环境设置运行应用程序,则__COMPAT_LAYER=RunAsInvoker
应用程序应该作为调用用户运行并且不再请求提升。这在许多情况下都有效,但是在某些情况下,应用程序启动然后立即弹出 UAC 对话框。
只是为了 100% 清楚:
我
__COMPAT_LAYER=RunAsInvoker
在启动应用程序时已设置。这通常有效,但在某些情况下,应用程序仍会要求提升。我已将安全策略设置
User Account Control: Detect application installations and prompt for elevation
为DISABLED(我认为这将是真正的修复,但没有)。我不希望应用程序以管理员权限运行。它不需要做任何需要管理员的事情,如果这样做,我希望它只是尝试失败。
应用程序没有弹出自己的消息框(例如,检查它是否可以写入 %ProgramFiles% 然后向我显示一条自定义消息。这是安全桌面上的 UAC 提示)。
为什么会这样?尽管有“RunAsInvoker”选项,应用程序能否继续请求提升?
如何让应用程序仅使用当前用户的令牌运行,如果权限不足则简单失败?
请注意,我无法找到超出__COMPAT_LAYER=RunAsInvoker
设置的任何答案。