我要使用以下代码创建新的注册表:
Dim r As RegistryKey = Registry.LocalMachine.OpenSubKey(RegEditAuditor, True)
r.SetValue("Actualizar", StartupPath + "\Actualizar")
RegActualizar = r.GetValue("Actualizar", "")
r.Close()
但是,当我执行我的应用程序时,会出现一个错误,我认为这是关于权限的,因为如果我以管理员身份执行,它就可以正常工作。
答案 0 :(得分:0)
您正在尝试编辑 LOCAL MACHINE 注册表,
这需要管理访问权限,
所以您在这里有2个选择:
您可以使程序集始终以管理员身份运行。
通过添加清单文件
在解决方案资源管理器上右键单击您的项目文件,
选择Add
,然后选择New item
(或CTRL + SHIFT + A),
在这里您可以找到Application Manifest File
,
将<requestedExecutionLevel>
元素更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Dim r As RegistryKey = Registry.CurrentUser.OpenSubKey(RegEditAuditor, True)
r.SetValue("Actualizar", StartupPath + "\Actualizar")
RegActualizar = r.GetValue("Actualizar", "")
r.Close()
答案 1 :(得分:0)
谢谢!我解决了它更改了requestExecutionLevel的问题,因为我需要任何人都可以做到这一点,无论其权限如何!