【WinForm】怎样以管理员身份运行安装程序
当开发的程序需要安装时,有时默认安装会遇到访问被拒绝的问题。为了解决这个问题,需要以管理员身份运行程序。
1、应用程序
打开项目属性,找到应用程序下的清单, 设置好如下图
1.1、UAC清单
再找到项目的Properties一项,点击展开,如下图
会看到里面的一个文件app.manifest,双击打开这个文件,打开如下
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果想要更改 Windows 用户帐户控制级别,请使用
以下节点之一替换 requestedExecutionLevel 节点。n
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
元素。
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
有的文件会自动加上注释, 是否感到贴心呢,
按照提示把asInvoker改成requireAdministrator保存即可
再重新编译运行看, 弹出提示要求提升的权限, 如下图, 选择重新启动即可
1.2、管理员身份
这下项目编译出来的程序, 程序图标右下角会多出一个盾牌小图标??
这个程序就会自动以管理员身份运行了, 安装程序正常运行
如果不想每次都重启, 只要记得,在打开VS开发工具前,以管理员身份运行开发工具
2、安全调试
如果弹出以下提醒, 说明项目属性有设置了安全调试选项,
打开项目属性, 点中那个安全性项,
2.1、ClickOne
在里面有个设置,启用ClickOne安全设置勾选给取消,再试试重新编译就好了,
这安全调试选项与管理员权限提权无关,不要被其他文章误导勾选
来源:https://blog.csdn.net/zs1028/article/details/133246265
本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com