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

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

  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了。

时间: 2024-10-13 16:01:22

如何自动以管理员身份运行.NET程序?的相关文章

Runas命令:能让域用户/普通User用户以管理员身份运行指定程序。

注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作! 在某些情况下,为了安全起见,大部分公司都会使用域控制器或只会给员工电脑user的用户权限,这样做能大大提高安全性和可控性,但由此也带来了一些困扰. 比如:某些特定的部门(如财务,物流)没有管理员权限,但工作又需要使用特定的插件或程序,且该程序或插件又必须以管理员身份运行,在这种情况下,我们如果将用户的权限提升为管理员,那样会增加安全风险而且可能引起很多不可控的情况.在这种情况下,我们可以使用runas命令来指定运行某个程序,这个

在Windows8下如何以管理员身份运行应用程序

在Windows7或8下,系统默认以非管理员的身份来执行应用程序,目的是为了保护系统免遭恶意破坏.但有时候应用程序需要访问注册表等一些重要资源时,程序会抛出SecurityException. 如何解决这样的问题? 临时解决方案是右键应用程序,选中"run as administrator" 来运行程序 永久解决方案是直接修改应用程序的属性,把"Run this program as an administrator"选中,如下 在Windows8下如何以管理员身份

[转] “无法注册程序集***dll- 拒绝访问。请确保您正在以管理员身份运行应用程序。对注册表项”***“的访问被拒绝

原文 Win8下Visual Studio编译报“无法注册程序集***dll- 拒绝访问.请确保您正在以管理员身份运行应用程序.对注册表项”***“的访问被拒绝.”问题修正 原来在Win7下Visual Studio跑的好好的程序,现在在Win8下编译报“无法注册程序集***dll- 拒绝访问.请确保您正在以管理员身份运行应用程序.对注册表项”***“的访问被拒绝.”的错误.报错信息明面上看是让你用管理员身份运行Visual Studio,然后打开工程编译就好了.但总觉得这种方法不如直接双击“s

让程序自动以管理员身份运行(用到了DuplicateToken,模拟管理员的身份,不可思议)

[c-sharp] view plain copy using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.Ht

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

无意中遇到需要以管理员方式运行的程序,最终找到如下的解决方法: 在程序中加入MANIFEST资源文件 首先打开Vs工程,看在Properties下是否有app.manifest这个文件; 如没有,右击工程在菜单中选择"Properties",出现界面如下图: 选中"Security",在界面中勾选"Enable ClickOnce Security Settings"后,在Properties下就有自动生成app.manifest文件. 打开ap

Delphi Xe2 后的版本如何让Delphi程序启动自动“以管理员身份运行&quot;

由于Vista以后win中加入的UAC安全机制,采用Delphi开发的程序如果不右键点击“以管理员身份运行”,则会报错. 在XE2以上的Delphi版本处理这个问题已经非常简单了. 右建点击工程,选择“Options”->“Applicaion”下,将Runtime themes项设置为“Use Custom manifest”,点击下方按钮,选择相应的Manifest文件即可. 需要注意的是:Debug和Release模式不同,要进行同样设置 如图: 至于Manifest文件,也就是一个XML

C#编写以管理员身份运行的程序

using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace MyWebBrowser {     static class Program     {         /// <summary>         /// 应用程序的主入口点.         /// </summary>         [STAThread]     

Inno Setup怎样创建一个自动申请管理员身份运行的快捷

如果你使用的是 Unicode 版本的 Inno Setup,那么以下是更为专业的解决方法. 这是 mlaan 提及的再一种方法. QUOTE( CodeAutomation3.iss) ; -- CodeAutomation2.iss -- ; ; This script shows how to use IUnknown based COM Automation objects. ; ; REQUIRES UNICODE INNO SETUP! ; ; Note: some unneeded

Delphi生成EXE自动以管理员身份运行

[测试环境]Windows 7 旗舰版 With Sp1,RAD 10 Seattle 1.文本文件:UAC.manifest <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">