c#用app.manifest实现程序以管理员身份运行

app.manifest配置就获得了管理员的权限来执行程序

方法:

1、在【解决方案资源管理器】右键工程名称选择属性;

2、在弹出的该对话框中,选择【安全性】选项卡。

3、勾选【启用ClickOnce安全设置】,并选中【这是完全可信的应用程序】。

4、保存工程,这时候app.manifest就自动创建了。

 

打开app.manifest把默认的配置修改一下,通过代码的注释,可以知道需要修改的节点是【requestedExecutionLevel】

asInvoker : 如果选这个,应用程序就是以当前的权限运行。


highestAvailable: 这个是以当前用户可以获得的最高权限运行。

requireAdministrator: 这个是仅以系统管理员权限运行。

找到<requestedExecutionLevel  level="asInvoker" uiAccess="false" />
把其改为<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

这时候修改完成,按下F5进行调试,通常会收到如下的错误提示:【ClickOnce 不支持请求执行级别“requireAdministrator”】。

事情好像发生了相互矛盾,上面开启【ClickOnce】便自动创建了app.manifest,现在修改了app.manifest却提示:ClickOnce 不支持请求执行级别“requireAdministrator”。

扫描二维码关注公众号,回复: 11500816 查看本文章

解决方法是:只要把【启用ClickOnce安全设置】不勾选就可以了。


如果操作步骤正确,按下F5进行调试,会弹出如下的提示框,VS具有提升的权限。

猜你喜欢

转载自blog.csdn.net/xdwxdw01/article/details/107765884