The question is very simple, what's the difference between HKEY_CURRENT_USER\Software\Wow6432Node\Classes a开发者_开发问答nd HKEY_CURRENT_USER\Software\Classes\Wow6432Node?
rather late, but here I go
Colin O'Dell writes:
I'm not sure, but I can tell you that my Windows 7 x64 machine only has the latter one. I do have HKEY_CURRENT_USER\Software\Wow6432Node\, but Classes doesn't exist inside that for me.
And you shouldn't have, HKCU
is actually pointer to -> HKUS\UserSid
Now HKCU\Software\Classes
is actually pointer to -> HKUS\UserSid\Software\Classes
, and this one is actually pointer to HKUS\UserSid_Classes
Now here comes WOW redirection, and for example HKCU\Software\Classes\CLSID
becomes:
HKUS\UserSid_Classes\Wow6432Node\CLSID
ain't that fun?
So in short, HKEY_CURRENT_USER\Software\Wow6432Node\Classes
is most-likely a leftover after some misbehaving application (that was probably trying to figure out redirection by itself...)
jp2code writes:
We have hundreds of WinXP machines at our workplace still. Classes is installed on all of them, but not Wow6432Node
Weren't you perhaps speaking about 32-bit Win XP? if so, it's quite obvious, there's no Wow node...
HKCU\Software\Classes\Wow6432Node
is correct: it's the redirected location that's accessed by 32-bit apps when they ask for HKCU\Software\Classes
on a 64-bit machine.
HKCU\Software\Wow6432Node\Classes
should not exist. If it does, whatever wrote that key and its subkeys is buggy.
See this article: Registry Keys Affected by WOW64 for details.
In fact, I think that HKCU\Software\Wow6432Node
should not exist - it's not listed on that article I linked above and on my system I have only HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components
with a few subkeys, which suggests to me they're in the wrong place.
I'm not sure, but I can tell you that my Windows 7 x64 machine only has the latter one. I do have HKEY_CURRENT_USER\Software\Wow6432Node\
, but Classes
doesn't exist inside that for me.
The reason for the "Wow6432Node" reg key and the other key, is that on modern 64 bit machines we still run alot of 32-bit apps. Microsoft knowing this, has allsorts of mirroing, and spoofing schemes within the registry to sort it all out. Usually this works to your advantage.
Say you are trying to register som component to the registry in code. All you need to do is try to put your entries into the key(reg path) you think you want. The registry will take that request and deal with it (propably putting it into the Wow6432Node sub-directory).
In other words, 99% of the time ignor 'Wow6432Node'. Especially if you are registering things to the registry from code. If you manually include 'Wow6432Node' in your path, then your app will only work right on 64-bit machines - which are the only ones who use that reg path.)
SUMMARY: Its where windows puts your 32-bit stuff on a 64-bit machine!!!!!
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.
I have no explanation for the "Classes" subkey and I don't see it on my own machines but the HKCU...Wow6432Node subkey is confusing itself since it is not associated with registry redirection and is not listed in the "Registry Keys Affected by WOW64" MSDN doc. I'm wondering if the OP was referring to a theoretical "Classes" child subkey of "Wow6432Node".
"Active Setup" is a reason that HKEY_CURRENT_USER\Software\Wow6432Node may exist. Application installers sometimes require per-user modifications to run when the user next logs in.
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.
精彩评论