HKEY_CURRENT_USER \ Software \ Wow6432Node \ Classes vs HKEY_CURRENT_USER \ Software \ Classes \ Wow6432Node

时间:2010-10-14 18:04:44

标签: registry wow64

问题很简单,HKEY_CURRENT_USER \ Software \ Wow6432Node \ Classes和HKEY_CURRENT_USER \ Software \ Classes \ Wow6432Node之间的区别是什么?

6 个答案:

答案 0 :(得分:10)

相当晚,但我来了

  

Colin O'戴尔 写道:

     

我不确定,但我可以告诉你,我的Windows 7 x64机器只有后者。   我有HKEY_CURRENT_USER \ Software \ Wow6432Node \,但是类不存在   在我的内心。

你不应该,HKCU实际指向 - > HKUS\UserSid

现在HKCU\Software\Classes实际上是指向>的指针HKUS\UserSid\Software\Classes,这个实际上是指向HKUS\UserSid_Classes

的指针

现在来了WOW重定向,例如HKCU\Software\Classes\CLSID变为: 的 HKUS\UserSid_Classes\Wow6432Node\CLSID

ain那么有趣吗?

简而言之, HKEY_CURRENT_USER\Software\Wow6432Node\Classes 最有可能是在一些行为不端的应用程序之后的剩余部分(可能是试图自行解决重定向问题......)

  

jp2code 写道:

     

我们的工作场所仍有数百台WinXP机器。   所有类都安装了类,但不安装Wow6432Node

你可能还在谈论32位Win XP吗?如果是这样,那很明显,没有Wow节点......

答案 1 :(得分:7)

请参阅此文章:Registry Keys Affected by WOW64

HKCU\Software\Classes\Wow6432Node 正确:它是32位应用在64位计算机上请求HKCU\Software\Classes时访问的重定向位置。

HKCU\Software\Wow6432Node\Classes 不应存在。如果是这样的话,无论写下该密钥及其子密钥都是错误的。

事实上,我认为HKCU\Software\Wow6432Node不应该存在 - 它没有在我上面链接的那篇文章中列出,在我的系统上我只有HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components有几个子项,这对我来说是他们的'在错误的地方。

答案 2 :(得分:3)

我不确定,但我可以告诉你,我的Windows 7 x64机器只有后者。我确实有HKEY_CURRENT_USER\Software\Wow6432Node\,但我内部不存在Classes

答案 3 :(得分:2)

“Wow6432Node”注册密钥和另一个密钥的原因是,在现代64位计算机上,我们仍然运行了很多32位应用程序。微软知道这一点,在注册表中有各种各样的镜像和欺骗方案来对它进行排序。通常这对您有利。

假设您正尝试在代码中将som组件注册到注册表。您需要做的就是尝试将您的条目放入您认为想要的密钥(注册路径)中。注册表将接受该请求并处理它(可以将其放入Wow6432Node子目录中)。

换句话说,99%的时间都会忽略'Wow6432Node'。特别是如果您从代码注册到注册表。如果您在路径中手动包含“Wow6432Node”,那么您的应用只能在64位计算机上运行 - 这是唯一使用该路径的计算机。)

摘要:Windows将32位内容放在64位机器上!!!!!

答案 4 :(得分:2)

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes 已链接到 的 HKEY_LOCAL_MACHINE \ SOFTWARE \类\ Wow6432Node

您可以在this article.

的底部阅读此内容

答案 5 :(得分:0)

我没有解释" Classes" subkey,我在自己的机器上看不到它,但HKCU ... Wow6432Node子键自身令人困惑,因为它与注册表重定向无关,并且没有列在受WOW64和#34影响的"注册表键中; MSDN doc。我想知道OP是指的是理论" Classes" " Wow6432Node"。

的子子项

"Active Setup" is a reason that HKEY_CURRENT_USER\Software\Wow6432Node may exist.应用程序安装程序有时需要在用户下次登录时运行每个用户修改。

在登录时,为了检测64位Windows上32位应用程序所需的此类修改,Windows进行了比较 [HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Active Setup \ Installed Components {GUID}] 至 [HKCU \ Software \ Wow6432Node \ Microsoft \ Active Setup \ Installed Components {GUID}]。

如果在HKCU类似位置也找不到HKLM GUID子项,Windows将执行安装操作并将信息复制到 [HKCU \ Software \ Wow6432Node \ Microsoft \ Active Setup \ Installed Components](以便不重复安装操作)。

因此,如果存在[HKCU \ Software \ Wow6432Node \ Microsoft \ Active Setup \ Installed Components],那么" Wow6432Node" HKCU的一部分...子项ID可能只是与HKLM ...子项的一部分匹配的文本。