Window xp 32位注册表虚拟机的奇怪行为

时间:2015-02-17 21:40:04

标签: c# .net windows registry

我有两个应用程序客户端A和服务B.A和B都是32位应用程序,运行在32位窗口xp上。 他们几乎完成了以下任务。

1)客户端A调用服务B方法,服务B 在注册表中写入一些值。 2)服务B读取注册表然后做一些工作。

发生了强烈的行为。 对于步骤1),服务B将值写入注册表HKEY_LOCAL_MACHINE \ SOFTWARE \ XX 对于步骤2),它尝试读取HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ xx位置。

用于设置注册表的示例代码

RegistryKey keyx = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(RegPathKey, true); 
keyx.SetValue(KeyValue, KeyData, RegistryValueKind.Binary);

它没有将wow6432note传递给路径。

根据我的研究,如果32位应用程序在64位窗口系统上运行,它会将注册表访问重定向到wow6432note。

但在我的情况下,两个应用程序都是32位,窗口系统是32位。 怎么试着读到wow6432note?有任何想法吗?因为VM?

任何人都经历过类似的事情吗?

我已经明白了。我们的代码在两个不同的项目中读写注册表,一个构建配置设置为任何CPU,另一个设置为x86。

然而,它没有意义。因为op系统是32位窗口。理论上它根本不应该从6432note读取或写入。

0 个答案:

没有答案
相关问题