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

在不提示UAC权限的情况下,从C++应用程序运行NSIS安装程序

  •  1
  • Vivek  · 技术社区  · 8 年前

    我让C++应用程序作为服务运行。我想从该服务以静默方式启动NSIS安装程序。有可能吗?如果是,我如何实现这一点?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Anders    8 年前

    如果您希望以与服务相同的用户启动安装程序,并且此服务以高完整性级别或系统运行,则可以使用 CreateProcess ShellExecute 启动安装程序。

    如果要以当前登录的用户身份启动安装程序,则需要使用 CreateProcessAsUser 但如果你走这条路,事情会变得复杂。可能没有任何登录用户,或者可能有多个用户。一旦您决定了要启动该流程的用户,您就可以使用他们的令牌 WTSQueryUserToken .