Unity,Win7提示SecurityException: A security error has been detected.
Unity执行这段代码,
Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run")
报异常:
SecurityException: A security error has been detected.
Microsoft.Win32.Win32RegistryApi.GenerateException (Int32 errorCode) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/Microsoft.Win32/Win32RegistryApi.cs:530)
Microsoft.Win32.Win32RegistryApi.OpenSubKey (Microsoft.Win32.RegistryKey rkey, System.String keyName, Boolean writable) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/Microsoft.Win32/Win32RegistryApi.cs:393)
Microsoft.Win32.RegistryKey.OpenSubKey (System.String name, Boolean writable) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/Microsoft.Win32/RegistryKey.cs:248)
Microsoft.Win32.RegistryKey.OpenSubKey (System.String name) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/Microsoft.Win32/RegistryKey.cs:232)
(wrapper remoting-invoke-with-check) Microsoft.Win32.RegistryKey:OpenSubKey (string)
经过反复测试,重现方法如下:
在注册表编辑器中,设置权限LocalMachine\\Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run
EveryOne权限全都设置为“拒绝”
然后就能重现上面的错误
此问题无法解决,只能加try catch来判断读取失败