C#设置注册表权限失败,修改应用程序以管理员身份执行

转载 2016年12月16日 16:00:27

最近写了一个控制台程序,将程序的相关信息注册到注册表中。但是运行的时候提示写注册表被拒。电脑的当前用户没有管理员的权限。

    如何给控制台程序赋管理员的权限呢?

   给程序添加 .manifest 文件:应用程序的Manifests则用于描述隔离应用程序,它管理着此应用程序在运行时要绑定的共享的并行组件的名字、版本。该Manifests可以作为一个文件(.manifest文件)存储在应用程序相同的目录下,也可以作为一种资源嵌入在可执行文件内部(Embed Manifest)。

   1、通过属性界面加载。
    首先检查 VS2010 的【Properties】节点下是否有【app.manifest】这个文件,如果没有的话双击【Properties】节点。弹出属性界面。

   勾选中【Security】页面中的【Enable ClickOnce Security Settings】节点(如下图)。会在【Properties】下就有自动生成【app.manifest】文件(如右上图)。

          

    双击打开【app.manifest】文件,将

    

    改为

    

asInvoker : 应用程序就是以当前的权限运行。

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

requireAdministrator: 以系统管理员权限运行。

修改后的文件如下:

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

C# Winform对文件夹的权限判断及处理

WindowsIdentity类可以获取当前执行者的身份信息 /// /// 递归搜索文件方法 /// /// 搜索的目录...

C#读取注册表的权限问题

C#读取注册表非常简单方便,指定路径后,设置对应的字段和属性值即可。 但是从Windows Vista开始,读取注册表就开始需要权限了。当然可以简单的使用管理员权限打开,或者在程序的安全性中设置...

win7下c#程序修改注册表的权限问题

最近在做一个cs的项目,项目已经完成,后来发现不兼容windows7,经过一番整改,终于大功落成。现将心得体会写在这里。 首先读取注册表要给用户管理员得权限。exe在Vista或Win7下不以管理员...

C#读取注册表的权限问题

http://blog.sina.com.cn/s/blog_4a54d07201019xjo.html
  • Herro09
  • Herro09
  • 2016年10月08日 16:07
  • 879

【VS调试】C#读写Windows 7注册表时抛出“不允许所请求的注册表访问权”的解决办法

在XP/2003下调试得好好的程序,到了windows7下,却抛出“不允许所请求的注册表访问权”的异常,该异常就在读写注册表时引发,例:public class Program { ...
  • wonsoft
  • wonsoft
  • 2011年07月11日 18:49
  • 13761

利用C#开发web应用程序时,对注册表进行操作提示没有权限的解决办法

因为公司项目需要对web程序添加一套注册机制。本人菜鸟一个,也就能想到利用...

Win7 C# 控制台程序写注册表被拒,需要以管理员身份运行。

最近写了一个控制台程序,将程序的

win7添加开机启动项

在注册表中添加就可以了。在开始--运行中输入regedit,展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。在右边...
  • gdali
  • gdali
  • 2016年08月01日 18:26
  • 179

C#设置启动项

static class Program     {         ///         /// 应用程序的主入口点。         ///         [STAThread]...
  • itctgu
  • itctgu
  • 2012年06月10日 20:51
  • 145

C# 使用管理员身份启动应用程序源码

最近为公司做了一个项目,自动从网页上抓取数据,抓取时间是固定的,程序运行在服务器上,所以想要给程序写一段开机自动运行的代码。 运行下面代码,在CreateSubKey(..)函数时程序报错:不允许访...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#设置注册表权限失败,修改应用程序以管理员身份执行
举报原因:
原因补充:

(最多只允许输入30个字)