我有一个现有程序,它要求使用以下方式访问注册表:
RegistryPermission permission = new RegistryPermission(RegistryPermissionAccess.AllAccess, strCheckPermission);
permission.Demand();
这适用于 Windows XP 直到 Windows 7,以及 Windows Server 2003 和 2008。但是,当我在 Windows 8 上运行它时,当我要求这个权限集时,我仍然无法创建子键
Registry.LocalMachine.OpenSubKey("Software", true).CreateSubKey("myCompany")
有谁知道这里出了什么问题?
更新:异常的堆栈跟踪:
System.UnauthorizedAccessException: Cannot write to the registry key.
at Microsoft.Win32.RegistryKey.EnsureWriteable()
at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity)