For reference, it is the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
key. When I look into it, I see only 1 (inst_loc) subkey, and the two subkeys I added for the purposes of my application.
However, when the application (run under the same user account) reads it, it doesn't see the two keys I added, but sees a TON of other keys, like ORACLE_HOME, etc.
This finds a ton of keys, but not the two I added:
RegistryKey regkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\ORACLE", false);
foreach (string name in regkey.GetValueNames()) { }
Anyone have an idea about the cause of this discrepancy?
EDIT: I have done a bit of digging. It seems that when I load LocalMachine.OpenSubKey("SOFTWARE\ORACLE", I actually get HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ORACLE. But what if the value on the client machine is in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE? I must be able to somehow access this, preferably check for the value in both places...