最近从 Vista 32 位迁移到 Windows 7 64 位,我的一个程序现在需要管理员权限。
我使用了一个相当奇特的文本编辑器(Crimson Editor)。虽然不是为 Vist/Win7 设计的,但它与 Vista 配合得很好。但是在 Windows 7 下,程序可执行文件会将此 UAC 屏蔽添加到其图标(即使未设置兼容性选项卡中的“以管理员身份运行”标志)并在我运行时提示提升。
Win7 如何确定这个类似记事本的应用程序需要管理员权限?我怎样才能覆盖这个错误的启发式?
Windows 是否有“自动拒绝提升请求”列表?
如果用户是“标准用户”,则可以通过将组策略设置更改为自动拒绝提升请求来让 Windows自动拒绝任何提升请求:ConsentPromptBehaviorUser
Prompt for credentials on the secure desktop.(默认)当操作需要提升权限时,安全桌面上会提示用户输入不同的用户名和密码。如果用户输入有效凭据,操作将继续使用适用的权限Prompt for credentials当操作需要提升权限时,系统会提示用户输入管理用户名和密码。如果用户输入有效凭据,操作将继续使用适用的权限Automatically deny elevation requests当操作需要提升权限时,会显示可配置的拒绝访问错误消息。以标准用户身份运行桌面的企业可以选择此设置以减少帮助台呼叫这在程序可能会提示提升的情况下很有用,但这需要帮助台的人运行三座建筑物(输入他们的过肩凭证)。只有到了那里,他们才发现用户不应该运行该程序。
我们希望应用程序以标准用户身份运行(可能会出现拒绝访问错误),因为这是正确的答案。
但该设置适用于所有提升的程序。是否有可能
以便自动拒绝提升请求,并以标准用户身份运行?
当程序错误时会出现问题:
requestedExecutionLevel的requireAdministrator在其嵌入或外部清单install或setup)EnableInstallerDetection注意: 假设应用程序没有清单,人们可能会建议添加一个清单,指示requestedExecutionLevel: asInvoker. 此解决方案还将禁用应用程序的文件和注册表虚拟化。