HKEY_LOCAL_MACHINE\Software Key

The HKEY_LOCAL_MACHINE\Software key contains specific configuration information about software on the local computer. The entries under this key, which applies to any user of the computer, show which software is installed on the computer.

HKEY_LOCAL_MACHINE\Software\Classes contains data to associate applications with file types (by filename extension). It also includes Registry information associated with COM objects. The data under the Classes subkey is also reflected in HKEY_CLASSES_ROOT.

Figure 23.13 shows how the HKEY_LOCAL_MACHINE\Software subkey appears on one machine.

Figure 23.13 The HKEY_LOCAL_MACHINE\Software subkey

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 can appear in a Registry.

Classes Subkey

The Classes subkey contains two types of subkeys:

Figure 23.14 shows where data is stored to associate .avi files with an application.

Figure 23.14 Filename-association subkeys in the Classes subkey

Figure 23.15 shows the shell properties of Regfile.exe, the executable file for Regedit. In this example, the service (or friendly) name of Regedit is specified.

Figure 23.15 Shell properties for Regfile.exe in the Classes subkey

Important

The COM information in the Registry must be created by the COM application. Do not change this information by using Registry Editor. To change the association between a file type and an application, click Options on the View menu in Windows NT Explorer, then use the File Types tab in the Options dialog box.

Description Subkeys

The 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\Description\CompanyName\ProductName\Version

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

Figure 23.16 Description subkey entries

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.

Microsoft Subkey

The HKEY_LOCAL_MACHINE\Software\Microsoft subkey contains configuration settings for Microsoft software installed on the computer.

The Windows NT\CurrentVersion subkey is of particular interest. This subkey contains 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 do not get any multiprocessor benefits by doing so. To find out which kernel type is running on a computer, see the data in the Registry under the Windows NT\CurrentVersion subkey.

Program Groups Subkey

The Program Groups subkey under HKEY_LOCAL_MACHINE\Software is redefined in Windows NT 4.0. In previous versions of Windows NT, it contained a list of the program groups used by all users of the local computer. In Windows NT 4.0, program groups have been replaced by the Windows NT Explorer directory structure. Now, this subkey is used only to record—as a yes/no, 0x1/0x0 value—whether all former program groups have been converted to the new directory structure.

The ConvertedToLinks value entry indicates whether the program groups were converted. A value of 1 (0x1) indicates that the conversion is complete.

When Windows NT 4.0 is installed on a computer that has never run Windows NT, there are no subkeys under the Program Groups subkey. However, upgraded versions can still contain binary data for common program groups that appear as Program Groups subkeys.

Secure Subkey

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

Windows 3.1 Migration Status Subkey

The Windows 3.1 Migration Status subkey contains data if the computer has been upgraded from Windows 3.x to Windows NT 4.0. The values in this subkey indicate whether .ini and Reg.dat files have migrated successfully to the Windows NT 4.0 format. If this subkey is deleted, Windows NT again attempts to migrate the files when the system is restarted.

There is also a Windows 3.1 Migration Status subkey under HKEY_CURRENT_USER. It tracks the migration of Program Group (.grp) files to the Windows NT Explorer format.

For more information about Windows 3.x migration, see Part 6, Chapter 27, "Compatibility and Migration: Windows 3.x and Windows 95 ," in this book.