Боже мой, не задавай жестко "Wow6432Node". Вы можете избежать неприятностей с этим в 64-битной системе, открывая реестр в 64-битном режиме, но если вы откроете реестр в 32-битном режиме, это создаст ужасную вещь, которую вы не хотите видеть. Кроме того, если у вас 32-разрядная ОС, папка «Wow6432Node» не должна быть, поэтому вы в конечном итоге будете создавать вещи там, где этого не следует.
Если вам не требуется открывать реестр, используя только привилегии, и вы можете полагаться на разрешения пользователя для создания / открытия / чтения ключей, то у Microsoft уже есть Microsoft.Win32.Registry, чтобы помочь вам.
string sPath = null;
RegistryKey hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
RegistryKey appKey = hklm.OpenSubKey(@"SOFTWARE\Tomcat\Common");
if(appKey != null)
{
object oPath = appKey.GetValue("OCR_path", null);
if(oPath != null && oPath is string)
{
sPath = oPath.ToString();
}
}