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

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

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

   给程序添加 .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#
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭