Here's my code:
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ADM");
The registry entry exists on the machine. key is always null.
I don't think that this is a security issue. I'm running as Administrator. (I've even explicitly ran the assembly under Administrator mode).
I'm using Visual Studio 2010 running on Windows 7 64bit.
The problem is that I'm running 64bit and my app is compiled as 32bit.
The key being read by:
Microsoft.Win32.RegistryKey key =
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
Is not HKLM\SOFTWARE
but instead HKLM\SOFTWARE\Wow6432Node\
. Compiling the application as x64 solves the problem.
Try opening each registry key individually like this
Microsoft.Win32.RegistryKey key1 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
Microsoft.Win32.RegistryKey key2 = key1.OpenSubKey(@"ADM");
Instead of using the string @"SOFTWARE\ADM";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With