如何自动以管理员身份运行.NET程序?

转自:http://www.cnblogs.com/zhuweisky/archive/2010/08/27/1809983.html      

      windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。

  如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest文件中的配置项即可。

  app.manifest文件默认是不存在的,我们可以通过以下操作来自动添加该文件。

(1)进入项目属性页。

(2)选择“安全性”栏目。

(3)将“启用ClickOnce安全设置”勾选上。

  现在,在Properties目录下就自动生成了app.manifest文件,打开该文件,将trustInfo/security /requestedPrivileges节点的requestedExecutionLevel的level的值修改为 requireAdministrator即可。如下所示:

      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
         
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
      
</requestedPrivileges>

  记住,如果不需要ClickOnce,可以回到项目属性页将“启用ClickOnce安全设置”不勾选。   

  接下来,重新编译你的程序就OK了。

posted @ 2010-09-02 11:19  iAdo  阅读(382)  评论(0编辑  收藏  举报