问题很简单,HKEY_CURRENT_USER\Software\Wow6432Node\Classes 和 HKEY_CURRENT_USER\Software\Classes\Wow6432Node 有什么区别?
6 回答
有点晚了,但我走了
科林·奥戴尔写道:
我不确定,但我可以告诉你,我的 Windows 7 x64 机器只有后者。我确实有 HKEY_CURRENT_USER\Software\Wow6432Node\,但对我来说里面不存在类。
你不应该有,HKCU
实际上是指向 ->HKUS\UserSid
NowHKCU\Software\Classes
实际上是指向 -> 的指针HKUS\UserSid\Software\Classes
,而这个实际上是指向HKUS\UserSid_Classes
现在来了 WOW 重定向,例如HKCU\Software\Classes\CLSID
变成:
HKUS\UserSid_Classes\Wow6432Node\CLSID
那不是很有趣吗?
所以简而言之,HKEY_CURRENT_USER\Software\Wow6432Node\Classes
很可能是一些行为不端的应用程序之后的遗留物(这可能是试图自己找出重定向......)
jp2code写道:
我们的工作场所仍然有数百台 WinXP 机器。所有这些都安装了类,但没有安装 Wow6432Node
您可能不是在谈论 32 位 Win XP 吗?如果是这样,很明显,没有哇节点......
HKCU\Software\Classes\Wow6432Node
是正确的:这是 32 位应用程序在HKCU\Software\Classes
64 位计算机上请求时访问的重定向位置。
HKCU\Software\Wow6432Node\Classes
不应该存在。如果是这样,那么无论写入该密钥及其子密钥的内容都是错误的。
有关详细信息,请参阅本文:受 WOW64 影响的注册表项。
事实上,我认为这HKCU\Software\Wow6432Node
不应该存在 - 它没有在我上面链接的那篇文章中列出,在我的系统上我只有HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components
几个子键,这表明它们在错误的位置。
我不确定,但我可以告诉你,我的 Windows 7 x64 机器只有后者。我确实有HKEY_CURRENT_USER\Software\Wow6432Node\
,但Classes
对我来说里面不存在。
“Wow6432Node”注册键和另一个键的原因是,在现代 64 位机器上,我们仍然运行许多 32 位应用程序。微软知道这一点,在注册表中有各种镜像和欺骗方案来解决所有问题。通常这对您有利。
假设您正在尝试在代码中将 som 组件注册到注册表。您需要做的就是尝试将您的条目放入您认为想要的键(reg 路径)中。注册表将接受该请求并处理它(适当地将其放入 Wow6432Node 子目录)。
换句话说,99% 的时间都忽略了“Wow6432Node”。特别是如果您要从代码向注册表注册内容。如果您在路径中手动包含“Wow6432Node”,那么您的应用程序将只能在 64 位机器上正常运行 - 这是唯一使用该 reg 路径的机器。)
摘要:Windows 将您的 32 位内容放在 64 位机器上的地方!!!!!!!
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes is linked to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node
You can read this at the bottom of this article.
我对“Classes”子项没有任何解释,我在自己的机器上也看不到它,但 HKCU...Wow6432Node 子项本身就令人困惑,因为它与注册表重定向无关,也没有在“受影响的注册表项”中列出通过 WOW64" MSDN 文档。我想知道 OP 是否指的是“Wow6432Node”的理论“类”子项。
“Active Setup”是 HKEY_CURRENT_USER\Software\Wow6432Node 可能存在的原因。 应用程序安装程序有时需要在用户下次登录时运行每个用户的修改。
At login, to detect such modifications needed for 32-bit applications on 64-bit Windows, Windows compares [HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components{GUID}] to [HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components{GUID}].
If the HKLM GUID subkey is not also found in the HKCU analogous location, Windows performs the installation operations and copies the information to [HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components] (so that the installation operations are not repeated).
So, if [HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components] is present, then the "Wow6432Node" portion of the HKCU... subkey ID is likely just text that matches a portion of the HKLM... subkey.