让C#程序自动以管理员方式运行
方法一:
在“项目”上 添加“新项” 选择“应用程序清单文件” 然后单击“添加”按钮添加后,默认打开app.manifest文件,将:<requestedExecutionLevel level="asInvoker" uiAccess="false" />
修改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />然后打开“项目属性” ,将“应用程序” 标签页中的“资源”中的“清单”修改为新建的 app.manifest。
重新生成项目,再次打开程序时就会提示需要以管理员权限运行。
方法二:
最近在用C#做一个简单的小软件时,发现软件在XP、和Windows 2003下面运行都很正常,在Win7下面双击打开,却会出问题,导致软件不能使用。把软件打开时“以管理员方式运行”,软件正常运行,看来啊,还是得默认就给软件加上管理员运行权限。
那该怎么做呢?
其实也非常简单,点击右键,打开项目属性->安全性选项,如下图所示:
首先启用ClickOnce安全设置,然后选中这是部分可信的应用程序,再点击编辑权限,编辑生成的“app.manifest”文件。
将app.manifest文件中的这句代码中的level
- <requestedExecutionLevel level="asInvoker" uiAccess="false" />
改为如下:
- <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
保存app.manifest文件,然后再将项目属性安全性选项中的启用ClickOnce安全设置去掉,重新编译项目即可,不去掉的话,是没法编译通过的哦。生成好后,软件就自动带上了那个安全图标了哦,如下图:
再点击,就会自动弹出那个用户账户控制对话框,选中是就可以了。
作者:LiaoHaoYu
出处:http://www.cnblogs.com/igolang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。