我有一个 C# 应用程序,它调用:
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\MyApp")
它设置为目标 x86,当我运行它时,我可以从任务管理器中看到它是一个 32 位进程。然而,这行代码奇怪地转到了 HKCU\Software\MyApp 的 64 位配置单元,而不是 HKCU\Software\Wow6432Node\MyApp 的 32 位配置单元。有任何想法吗?
我还启动了两个 Powershell 实例,一个是 32 位的,一个是 64 位的,然后运行下面的代码,但都返回了 64 位配置单元的值。
get-itemproperty -Path Registry::HKEY_CURRENT_USER\Software\MyApp
任何想法这里可能出了什么问题?我已经三重检查了 32 位和 64 位配置单元的注册表设置也与 regedit 不同。