【问题标题】:How programmable detect if a user has admin rights (can run installer)可编程检测用户是否具有管理员权限(可以运行安装程序)
【发布时间】:2010-03-14 13:49:08
【问题描述】:

在我的代码中,我需要检测当前用户是否有权安装其他应用程序(其他应用程序 VC2005 redist.package)...它应该可以在 Vista 上运行。

据我了解,CheckTokenMembership 或 IsAdministrator 没有给出完整的解决方案。

谢谢

【问题讨论】:

    标签: c++ installation windows-vista detection administrator


    【解决方案1】:

    这不是 UAC 的工作方式,99.99% 的情况下答案是不。您通过请求获得访问权限。在您的安装程序中包含a manifest。 redist 安装程序已经拥有该清单。

    【讨论】:

      【解决方案2】:

      虽然当前登录的用户可能没有安装权限,但仍可能会通过身份验证对话框提示他们(“过肩”安装)。如果在此对话框中输入了有效的用户名和密码,则可以安装。因此,这不是您可以可靠检查的内容,因为用户在技术上是“允许的”,但只有在他们输入正确的用户名/密码后才能进行检查。

      您最好的解决方案是尝试提升并在失败时优雅地失败:)

      【讨论】:

        【解决方案3】:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-12
          • 1970-01-01
          • 1970-01-01
          • 2011-03-01
          • 2022-01-01
          • 2020-06-04
          • 2018-12-13
          • 1970-01-01
          相关资源
          最近更新 更多