对注册表的只读访问会引发安全性异常

时间:2014-12-18 09:36:05

标签: c# .net windows-7 registry

我正在使用为Windows XP编写的应用程序,使其适用于Windows Vista及更高版本。以前在注册表中对HKEY_LOCAL_MACHINE进行了大量读写访问。我重写了这一点,以便只有安装程序写入HKEY_LOCAL_MAHINE(具有提升的权限),并且应用程序以只读访问权限访问这些设置。该应用程序使用C#和C ++编写,并编译为32位。

在运行Windows 7的开发计算机上,一切正常。我还测试了安装程序和应用程序是一个干净的(虚拟)Windows 7,作为本地管理员和普通用户。它只是有效。但是当我在另一台计算机上测试安装程序和应用程序时(也以本地管理员身份运行Windows 7),我得到以下异常:

  

System.Security.SecurityException:请求的注册表访问不是   允许的。

RegistryKey.OpenSubKey(string)方法抛出异常,according to Microsoft以只读方式检索一个子密钥,我觉得应该没问题。

我尝试在Windows Vista及更高版本的注册表访问时遵循所有规则和建议,但似乎我仍然遗漏了一些内容。我在这里缺少什么?

0 个答案:

没有答案