C# Winform 异常: 没有执行权限 的解决方法

本文介绍了如何通过修改Visual Studio项目的app.manifest文件以获得管理员权限来解决访问注册表时出现的安全异常问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写时间:2018年06月13日 03:54:40

前几天博主写关于访问注册表的程序, 却发现读取到的Value值为空, 这就很奇怪了. 

检查代码却并未发现有什么问题, 捕获到的异常如下:

异常: System.Security.SecurityException (用户没有读取注册表项所需的权限)

最开始我认为是需要用右键的管理员权限来运行程序, 结果不行. 经查阅资料和以前乱玩项目属性的时候遇到一个以管理员权限来运行的程序的方式, 马上做出修改, 果然成功了. 修改过程如下:

 右键项目->属性->安全性->勾上(启用ClickOnce安全设置, 然后立刻取消勾选, 此操作目的是为了让app.manifest文件显示在项目里以方便修改该文件内容)

然后修改项目Properties下面的app.manifest文件(将第11行的配置覆盖到18行)

修改好后程序就可以使用管理员权限来访问一些系统敏感位置了.

更新时间: 2018年9月21日14点47分

注意: 当你编写的程序需要使用管理员权限时, 你的VS在调试时可能会有如下提示

以前我碰到这种情况的时候都是 F7生成-->浏览目录-->双击生成的EXE文件, 然后查看控制台输出和程序运行结果来查看效果的. 小项目还行, 代码不多, 但是到了公司里, 一个解决方案里三十几个项目, 一个文件里几千行无注释代码.......头疼!!

现在我才发现可以直接退出VS, 以管理员权限运行VS就可以继续调试了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值