HKCR
The HKEY_CLASSES_ROOT subtree contains two types of data:
The content of HKEY_CLASSES_ROOT comes from two sources, HKEY_LOCAL_MACHINE\SOFTWARE\Classes and HKEY_CURRENT_USER\SOFTWARE\Classes. If a subkey or entry appears in either location, it also appears HKEY_CLASSES_ROOT. If the values of entries in the two Classes subkeys conflict, only the value in HKEY_CURRENT_USER\SOFTWARE\Classes appears in HKEY_CLASSES_ROOT.
In Windows NT 4.0 and earlier, HKEY_CLASSES_ROOT displayed the data in HKEY_LOCAL_MACHINE\SOFTWARE\Classes only. The current merged configuration lets the system register program classes independently for each user. This feature is known as per-user class registration.
Per-user registration has several benefits:
Note: Roaming class registration is only available when using Intellimirror Software Management. For more information about Intellimirror, see Windows 2000 Help.
Note
This is a change in functionality from Windows NT 4.0, where HKEY_CLASSES_ROOT was an alias of HKEY_LOCAL_MACHINE\SOFTWARE\Classes. For more information about HKEY_CLASSES_ROOT, see the COM Programmer's Reference and the Automation Programmer's Reference in the Platform Software Development Kit at http://msdn.microsoft.com.
If an entry exists in both HKEY_LOCAL_MACHINE\SOFTWARE\Classes and HKEY_CURRENT_USER\SOFTWARE\Classes, the value of the entry in HKEY_CURRENT_USER\SOFTWARE\Classes will take precedence.
If you create a new key or subkey in HKEY_CLASSES_ROOT, it will also be created in HKEY_LOCAL_MACHINE\SOFTWARE\Classes. If you create a new entry in this same key or subkey, that entry will also appear in that key or subkey in HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
If you create a new entry in an existing subkey, where that entry will appear depends on whether the subkey already exists in HKEY_LOCAL_MACHINE\SOFTWARE\Classes or HKEY_CURRENT_USER\SOFTWARE\Classes: