我有一个程序将值写入注册表。
我有GUI模式和命令行模式。在GUI模式下运行时,程序可以完美地写入HKLM(x86 build config)
但是,当我在命令模式下运行程序时,值会写在wow6432节点下。我做了一些研究,发现wow6432节点用于存储已在64位机器上运行的32位应用程序的注册表值。
我不会认为在命令行模式下运行会从64位变为32 - 但似乎是。
不确定从哪里开始,希望有人可以指出我正确的方向。
答案 0 :(得分:0)
经过一番研究 - 我发现在命令行模式下运行时,注册表重定向器重定向到wow6432节点。
为了绕过这个,我使用了:
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
然后直接打开64位视图,并允许写入HKLM而不会被重定向到wow6432节点。