HKEY_LOCAL_MACHINE\SOFTWARE Subtree

The HKEY_LOCAL_MACHINE\SOFTWARE subtree contains specific configuration information about software on the local computer. The entries under this handle, which apply for anyone using this particular computer, show what software is installed on the computer and also define file associations and OLE information. The HKEY_CLASSES_ROOT handle is an alias for the subtree rooted at HKEY_LOCAL_MACHINE\SOFTWARE\Classes.

This subtree contains, for example, the information you add by using the Associate command in File Manager, information added during installation for specific Windows-based applications, and information about applications installed with Windows NT.

The HKEY_LOCAL_MACHINE\SOFTWARE subtree contains several subkeys. The Classes, Program Groups, and Secure subkeys are described here, plus general information about the various Description subkeys that might appear in a Registry.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft and its subkey Windows NT\CurrentVersion are of particular interest. These subkeys contain information about software that supports services built into Windows NT, as well as data about the version and type of the current release (multiprocessor versus uniprocessor). For example, it is possible to run a Windows NT uniprocessor kernel on a multiprocessor computer, but you don't get any multiprocessor benefits by doing so. To quickly check which kernel type is running on a computer, see the data in the Registry under the Windows NT\CurrentVersion subkey.

Classes Subkey

The Classes subkey defines types of documents, providing information on filename-extension associations and OLE information that can be used by Windows shell applications and OLE applications. HKEY_CLASSES_ROOT displays the same information as stored under this subkey.

Important The OLE information must be created by the specific application, so you should not change this information using Registry Editor. If you want to change filename-extension associations, use the Associate command in File Manager.

The Classes subkey contains two kinds of subkeys:

Description Subkeys

The various HKEY_LOCAL_MACHINE\SOFTWARE\Description subkeys contain the names and version numbers of the software installed on the local computer. (Information about the configuration of these applications is stored on a per-user basis under HKEY_CURRENT_USER.)

During installation, applications record this information in the following form:


HKEY_LOCAL_MACHINE\SOFTWARE\<CompanyName>\<ProductName>\<Version>

The following example shows some entries under the subkey for Microsoft (a CompanyName), which contains entries for the service software installed on the computer:

Note The information in each subkey is added by the related application. Do not edit entries in these subkeys unless directed to do so by your application vendor.

Program Groups Subkey

The Program Groups subkey under HKEY_LOCAL_MACHINE\SOFTWARE contains the common program groups — that is, those used in common by all users of the local computer. (The program groups for an individual user can be viewed under HKEY_CURRENT_USER, and the default personal program groups can be viewed in HKEY_USERS\.DEFAULT.) Each subkey under the Program Groups subkey is the name of a common program group, and its value is binary data describing that program group.

If you want to change the content of common program groups, use the menu commands or mouse techniques provided in Program Manager or the User Profile Editor.

Secure Subkey

The Secure subkey provides a convenient place for applications to store configuration information that should not be changed by anyone except an administrator.

If you have a previous version of Windows (Windows 3.x, Windows for Workgroups) installed on your computer, you are permitted to migrate REG.DAT, Program Manager group (.GRP) files, and .INI files to the Windows NT Registry when you first log on to Windows NT. For more information about Windows 3.x migration, refer to Chapter 15, "Windows 3.x Compatibility".