C#运行WinForm程序--------System.Security.SecurityException: 不允许所请求的注册表访问权

************* 异常文本 *************
System.Security.SecurityException: 不允许所请求的注册表访问权。

这是没有取得管理员权限的问题,我们要设置为每次运行默认获取系统管理员权限.

1、在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找到“安全性”选项,勾选“启用ClickOnce安全设置”:

 

2、这时,在项目下面会多出一个“app.manifest”的文件,

 

选中它,并找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,

将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,


3、改正后,不要急于重新编译生成,再次打开“属性--安全性”界面,

 

将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。 不然程序会报错无法运行。

4、最后,保存修改,重新编译生成程序。

参考链接:https://www.cnblogs.com/xiohao/p/10210725.html