Stan,
The DEFAULT access permissions assigned for HKEY_CLASSES_ROOT are:
Admin-Full Control
Creator Owner-Full Control
Everyone-Special (Query, Set, Create, Enumerate, Notify, Delete, Read)
System-Full Control
The next two sentences should be of some interest.
To change the settings for the interactive user, changes should be made
under HKEY_CURRENT_USER\Software\Classes rather than HKEY_CLASSES_ROOT.
To change the default settings, changes should be made under
HKEY_LOCAL_MACHINE\Software\Classes.
Here's some info on HKEY_CLASSES_ROOT from various sources.
HKEY_CLASSES_ROOT is actually a pointer into the HKEY_LOCAL_MACHINE
subtree-specifically, HKEY_LOCAL_MACHINE\SOFTWARE\Classes. Changes made in
HKEY_CLASSES_ROOT are immediately reflected in HKEY_LOCAL_MACHINE, since
they occupy the same space.
HKEY_CLASSES_ROOT is a subtree that is an alias of another key within HKLM -
specifically HKLM\Software\Classes. Specifically, HKCR is a merging of both
HKLM\Software\Classes and HKCU\Software\Classes.
HKEY_CLASSES_ROOT
Contains information used by various OLE technologies and file-class
association data. A particular key or value exists in HKEY_CLASSES_ROOT if a
corresponding key or value exists in either
HKEY_LOCAL_MACHINE\SOFTWARE\Classes or HKEY_CURRENT_USER\SOFTWARE\Classes.
If a key or value exists in both places, the HKEY_CURRENT_USER version is
the one that appears in HKEY_CLASSES_ROOT.
HKEY_CLASSES_ROOT
Is a subkey of HKEY_LOCAL_MACHINE\Software. The information stored here
ensures that the correct program opens when you open a file by using Windows
Explorer. This key is sometimes abbreviated as "HKCR." Starting with Windows
2000, this information is stored under both the HKEY_LOCAL_MACHINE and
HKEY_CURRENT_USER keys. The HKEY_LOCAL_MACHINE\Software\Classes key contains
default settings that can apply to all users on the local computer. The
HKEY_CURRENT_USER\Software\Classes key contains settings which override the
default settings and apply only to the interactive user. The
HKEY_CLASSES_ROOT key provides a view of the registry that merges the
information from these two sources. HKEY_CLASSES_ROOT also provides this
merged view for programs designed for previous versions of Windows. To
change the settings for the interactive user, changes should be made under
HKEY_CURRENT_USER\Software\Classes rather than HKEY_CLASSES_ROOT. To change
the default settings, changes should be made under
HKEY_LOCAL_MACHINE\Software\Classes. If you write keys to a key under
HKEY_CLASSES_ROOT, the system stores the information under
HKEY_LOCAL_MACHINE\Software\Classes. If you write values to a key under
HKEY_CLASSES_ROOT, and the key already exists under
HKEY_CURRENT_USER\Software\Classes, the system will store the information
there instead of under HKEY_LOCAL_MACHINE\Software\Classes.
The HKEY_CLASSES_ROOT subtree contains two types of data:
1. Data that associates file types with programs. The file type subkeys in
HKEY_CLASSES_ROOT have the same name as the file name extension for the file
type, such as .exe. File type associations are stored in the registry, but
you should use Windows Explorer to change them. In Windows Explorer, from
the Tools menu, click Folder Options, and then click the File Types tab.
2. Configuration data for COM objects, Visual Basic programs, or other
automation. The configuration subkeys either use the program IDs (such as
for COM, VB, automation, and scripting) or parent keys for other classes of
information (such as for CLSID, Interface, TypeLib, AppId, and so on).
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 in
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.
Note
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 takes 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:
If the subkey exists in both HKEY_CURRENT_USER\SOFTWARE\Classes and
HKEY_LOCAL_MACHINE\SOFTWARE\Classes, the entry will appear in that subkey in
HKEY_CURRENT_USER\SOFTWARE\Classes only.
If the subkey already exists only in HKEY_CURRENT_USER\SOFTWARE\Classes, the
entry will appear in that subkey in HKEY_CURRENT_USER\SOFTWARE\Classes.
If the subkey already exists only in HKEY_LOCAL_MACHINE\SOFTWARE\Classes,
the entry will appear in that subkey in HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
--
Hope this helps. Let us know.
Wes
MS-MVP Windows Shell/User
In