代码之家  ›  专栏  ›  技术社区  ›  Paya

Win C:以管理员身份运行应用程序,无需UAC提示

  •  14
  • Paya  · 技术社区  · 16 年前

    我需要我的一个.exe来在没有uac提示的情况下以管理员身份运行。我的程序将与安装程序一起安装,安装程序将具有一次性管理员权限,我需要在此安装程序中执行这样的步骤,即我的exe将始终作为管理员执行,而无需uac提示。

    到目前为止,我找到了两个解决方案:

    1。 使用自定义服务,这将为我提升程序。

    2。 使用 Task Scheduler .

    还有别的办法吗?可能有什么证据?

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  8
  •   tyranid    16 年前

    当然,如果只想驱动ui,应该在清单中使用ui访问标志(请参见 http://msdn.microsoft.com/en-us/library/ms742884.aspx )如果您将应用程序安装在受信任的位置(例如system32),并且它已签名(bleh!)然后,当您运行应用程序时,它将被提升为高(对于管理帐户)。

    签名要求使它稍微恼人,但至少它稍微减少了攻击面,因为代码以高完整性运行,但不使用管理员令牌。

        2
  •  27
  •   Aaronaught    16 年前

    如果能够做到这一点,那么uac将是完全无效的。这个 无能为力 在没有用户同意的情况下提升自己的应用程序是uac背后的基本原则。

    除了已经有一个提升的进程来启动它(即服务或任务调度程序),答案是不,它不能完成。

    推荐文章