我有一个调用如下代码的C#应用程序:
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\MyApp")
它被设置为针对x86,当我运行它时,从任务管理器可以看出它是一个32位进程。然而,那行代码奇怪地去到了HKCU\Software\MyApp的64位hive,而不是HKCU\Software\Wow6432Node\MyApp的32位hive。有什么想法吗?
我还启动了两个PowerShell实例,一个是32位的,另一个是64位的,并运行了下面的命令,但两者都返回64位hive中的值。
get-itemproperty -Path Registry::HKEY_CURRENT_USER\Software\MyApp
这里有什么可能出了问题吗?我已经三次检查了32位和64位注册表设置,并且它们与regedit中的不同。