You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

发布C#应用时如何让Visual Studio 2022生成的安装包自动请求管理员权限

Visual Studio 2022 生成的安装包自动请求管理员权限方案

以下方案仅会让安装包触发UAC提权,不会影响主程序运行权限,符合你不需要用户每次启动应用都申请管理员权限的需求。

方案1:项目内置配置(适用于ClickOnce发布场景)

  • 打开你的C#项目属性页,切换到安全性选项卡
  • 勾选「启用ClickOnce安全设置」,选择「这是完全可信的应用程序」
  • 切换到发布选项卡,点击「必备组件」按钮,确认WebView2 Runtime已被勾选为安装必备项
  • 右键点击项目名称,选择「卸载项目」,再次右键点击项目选择「编辑项目文件」
  • 在项目文件中找到ClickOnce相关配置段,添加如下配置:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
  • 保存文件后重新加载项目,重新发布即可,生成的安装包启动时会自动触发提权请求。

方案2:通用配置(适用于所有类型的安装包生成场景)

不管你用ClickOnce还是Visual Studio Installer Projects生成安装包,都可以通过注入manifest的方式实现自动提权:

  • 新建一个名为setup.manifest的纯文本文件,写入以下内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
</assembly>
  • 打开「Visual Studio 2022 开发者命令提示符」,cd到你生成的setup.exe所在目录
  • 执行以下命令完成manifest注入:
    mt.exe -manifest setup.manifest -outputresource:setup.exe;#1
  • 处理完成后的setup.exe启动时就会自动请求管理员权限,WebView2的安装流程可以正常完成。

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:06:03