ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C# 让程序自动以管理员身份运行

C# 让程序自动以管理员身份运行

原创 Linux操作系统 作者:genweihua 时间:2013-01-16 17:33:13 0 删除 编辑
  
        转载: http://tech.it168.com/a2011/0728/1224/000001224704_all.shtml
         2011年07月28日19:05 来源:Lemon_s的博客 作者:Lemon_s 编辑:胡铭娅 评论:--条

  【IT168 技术】exe在Vista或Win7下不以管理员权限运行,会被UAC(用户帐户控制)阻止访问系统某些功能,如修改注册表操作等;如何让exe以管理员权限运行呢,方法有两种,一个是直接修改exe属性;另一个是在程序中加入MANIFEST资源,下面分别介绍。

  1、直接修改exe属性

  1) 右击“exe”,在弹出的菜单中选择“属性”,出现的界面如下图:

  C# 让程序自动以管理员身份运行

  2) 选择"Compatibility"项,并勾选"Run this program as administrator"项即可。

  2、 在程序中加入MANIFEST资源

  1) 打开Vs2005或vs2008工程,看在Properties下是否有app.manifest这个文件;如没有,右击工程在菜单中选择“属性”,出现界面如下图:

  C# 让程序自动以管理员身份运行


  选中"Security",在界面中勾选"Enable ClickOnce Security Settings"后,在Properties下就有自动生成app.manifest文件。

  打开app.manifest文件,将

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

  改为

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

  修改后的app.manifest为:

xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.



If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
applicationRequestMinimum>
security>
trustInfo>
asmv1:assembly>

  然后在"Security"中再勾去"Enable ClickOnce Security Settings"后,重新编译即可。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22275400/viewspace-752763/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 动态SQL学习一例
请登录后发表评论 登录
全部评论
事了拂衣去,深藏功与名!

注册时间:2009-08-28

  • 博文量
    114
  • 访问量
    623625