【问题标题】:When I publish a c# app, how do I get the setup to auto request admin privileges?当我发布 C# 应用程序时,如何设置自动请求管理员权限?
【发布时间】:2021-11-23 14:07:35
【问题描述】:

我在 c# 中使用 Visual Studio 2022 创建了一个简单的单站点浏览器。我添加了先决条件 webview2。当我发布文件时,它会创建 setup.exe 并启动 webview2 安装,但随后它失败了,因为它没有管理员权限。我说的不是我的应用程序,而是 Visual Studio 2022 创建的 setup.exe。如何在不要求管理员每次都运行我的应用的情况下升级它?

我知道他们可以右键单击 setup.exe 并以管理员身份运行,但不是每个人都知道这样做。

【问题讨论】:

    标签: c# visual-studio


    【解决方案1】:

    您无法处理或更改 UAC(用户帐户控制)的同意对话框,这就是拥有 UAC 的意义。

    据我所知,您甚至不能手动调用它来请求管理员权限。

    你还有另外两个选择:

    选项 1 - 每次程序运行时通过将以下内容添加到清单文件中来请求管理员权限

     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    

    选项 2 - 在运行该特定代码块之前检查您是否具有管理员权限

    [PrincipalPermissionAttribute(SecurityAction.Demand, Role = @"BUILTIN\Administrators")]
    private static void YourCode()
    {
      Console.WriteLine("User is an Administrator");
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-01
      • 1970-01-01
      • 2021-07-27
      • 2018-05-01
      • 2013-09-27
      • 1970-01-01
      • 2020-07-13
      • 2011-09-03
      • 2012-10-13
      相关资源
      最近更新 更多