【问题标题】:Windows asks for administrator password when starting my application in a non-administrator account在非管理员帐户中启动我的应用程序时,Windows 要求输入管理员密码
【发布时间】:2015-12-07 03:28:30
【问题描述】:

我的应用程序正在执行某些操作,导致 Windows 在以非管理员帐户启动我的应用程序时要求输入管理员密码。 起初我以为是因为我在 Program Files 的运行时文件夹中写入了一些数据。我解决了这个问题,但仍然有问题。 您知道我该如何追查问题吗?

【问题讨论】:

  • 听起来您的程序被标记为以提升的权限运行。
  • 您必须确保您的程序有一个清单,并且清单配置为 asInvoker 而不是 requiresAdmin。如果您使用的是 Visual Studio,则这些选项位于 Linker -> Manifest File 下。如果您通过快捷方式启动它,您还应该检查快捷方式没有启用“以管理员身份运行”选项。

标签: windows admin


【解决方案1】:

Harry Johnston 的评论是正确的。

如果您没有指定级别的清单,则 Windows 会假定这是一个在清单常见之前编写的“旧”程序。在这种情况下,它将使用启发式方法来猜测程序是否可能需要管理员权限。特别是,如果可执行文件的名称中包含“install”或“setup”,Windows 可能会认为它是一个安装程序,并且需要管理员权限。

如果您提供一个指定级别的清单(如 asInvoker),那么无论您的程序名称如何,Windows 都不会猜测。

【讨论】:

  • 是的。我对哈利的评论投了赞成票。这很有帮助。我确实有一个简单的清单,但它没有 requestPrivileges 声明。作为初步测试,我添加了语句,将 requestedExecutionLevel 设置为“asInvoker,同时仍以 asministrator 身份登录。它崩溃了。知道为什么。(让我知道我是否应该打开一个新问题而不是继续在这里。)
  • 我怀疑崩溃是因为一个不相关的问题。
猜你喜欢
  • 2013-08-01
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多