Windows registry

From Conservapedia
Jump to: navigation, search

The Windows registry stores configuration information for a user's copy of the Microsoft Windows operating system in a centralized, hierarchical database; it is often referred to as "brains of your computer".[1] Since the introduction of Windows 95, this database model has almost completely replaced the text-based .INI files that previous versions of Windows had utilized to store configuration information. The registry was designed to make the storage of this information more compact, logical, and efficient overall.[2]

Advantages

The design of the Windows registry provides several major advantages over the text-based .INI files used in the predecessors of Windows 95. Because of the relatively primitive and simplistic specifications that govern text-based items like .INI files, these files are often limited to basic ASCII text in their content. This normally excludes all Unicode characters that fall outside the standard ASCII character set. The registry, however, can store strongly typed data, which includes non-ASCII characters, thus giving it a distinct advantage in that non-Latin characters, specialized symbols, and escape characters can all be incorporated into settings.[3]

The registry also allows multiple users to log in and use a workstation. Because program settings can be stored on a per-user basis in each user's respective location in the registry, a program can call that specific group of settings when a user executes a program. Text-based .INI files, however, were often stored in a program's installation directory, thus limiting that program to one configuration. The ability of the registry to allow for multiple users has led in part to the development and increased adoption of multiple user workstations and environments, such as Active Directory domains in the corporate environment and family PCs in the home.

The centralized nature of the registry also makes backups and restoration of system and user configuration information significantly easier than for .INI files. Although the registry does technically consist of multiple files that can be stored in radically different locations on the local machine or even across the network, the Windows operating system is traditionally capable of working with these different locations as if they were combined.[4]

Disadvantages

The Windows registry does possess several disadvantages as well. Although it is relatively easy to back up and restore the database to the same Windows installation, moving per-program settings to a different machine is difficult because so many programs use settings that are dependent on the local machine.[4]

The entire registry database must be processed upon every boot for the operating system to function, which can create performance delays during startup. Critics have also labeled the Windows registry as a single point of failure, because its centralized and hierarchical structure, while providing the many benefits discussed above, also makes it a weak link in the system and an easy target for both malicious and unintentional damage by users.[5]

Applications that store their settings in the registry are irreducibly tied to the local machine, meaning that transitioning users from one computer to another very often requires a complete re-installation of the program.[6]

Structure

The Windows registry follows a hierarchical, tree-like structure. Upon initially opening the registry editor, Windows displays five main "folders," or root keys. Each of these keys contains many subkeys, or child keys, each which contain certain specific values. The table describes these root keys and the specific configuration information they hold and how it relates to the overall computer and user experience.

Root Key/Folder Name

Abbreviation

Description[7]

HKEY_CURRENT_USER

HKCU

Contains the configuration information for the user who is currently logged in. Most Control Panel, display, and built-in program settings are stored here. Because this information is associated with a specific user's profile, it can be useful in performing user state migrations, such as transitioning a user to a different computer with a similar Windows operating system.

HKEY_USERS

HKU

Contains the configuration information for all users currently active on a computer. HKEY_CURRENT_USER is a subset of this key. Because HKEY_USERS can store information for multiple users simultaneously, it allows for multiple user environments, as well as specialized user accounts utilized internally by Windows (like the ASP.NET user account in Windows XP and the TrustedInstaller account in Windows Vista and Windows 7).

HKEY_LOCAL_MACHINE

HKLM

Holds settings specific to the local computer. This may include universal Windows settings that apply to all active users, as well as other settings that Windows uses internally. In a domain environment where the Windows registry for a local machine may be stored on a remote server, this key will contain information about the remote server, not the local machine that uses the registry.

HKEY_CLASSES_ROOT

HKCR

Stores file association and file extension information for use by Windows Explorer and other programs. Although physically stored as a subset of the HKEY_LOCAL_MACHINE\Software tree, the Windows registry editor presents this key as a merged view of the HKEY_LOCAL_MACHINE\Software\Classes and the HKEY_CURRENT_USER\Software\Classes trees. This combination of registry keys provides all the necessary information for a specific user's profile.

HKEY_CURRENT_CONFIG

HKCC

Keeps the settings and configuration information for the hardware profile that Windows and the local computer use upon startup, including driver information to facilitate hardware/software interaction.

HKEY_DYN_DATA

HKDD

This key is only used in Windows 95, Windows 98, and Windows 98 Second Edition (SE). Like HKEY_CURRENT_CONFIG, it stores information on specific aspects of a computer's hardware, and details for Plug and Play drivers.[8] With support for all versions of Windows 98 SE now ended, this key is now officially deprecated.

Tips

One simple way to speed up your computer's normal start up time is to delete non-essential items located in the Run keys:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

These keys control most of the programs that your computer loads during its initial startup, and fewer programs normally translates to a faster boot time. Many viruses will also add themselves to this list, which can make them more difficult to remove. You should always exercise caution before manually editing the registry, and removing start up programs is safer and more secure when done through the Windows System Configuration Utility, in the Startup tab.

Registry repair

The problem with most registry repair titles is that they are based on the same open source software script which has then been customized and branded to their company name. The issue with this base product is that it is a basic registry scanning program that doesn't have the capacity or technology to effectively clean your registry.[9]

See also

References

External links