What is the registry?
In version 3.1 of Microsoft Windows, applications that had been installed were configured in Windows with configuration files (which had the extension .ini). There were also two configuration files for Windows itself:
- win.ini: for defining user settings (like language, colors, and wallpaper)
- system.ini: for configuring Windows' use of the machine itself (like the sound card and screen resolution)
Finally, one file (reg.dat) was used for associating files with programs (defining which program would be used to open a file with a given extension).
Since then, Microsoft has decided to gather all information into two files (called the "registry"). The files are:
- "user.dat" - containing user settings
- "system.dat" - containing system settings
Microsoft kept the "system.ini
" and "win.ini
" files to ensure compatibility with programs that worked in Windows 3.1.
Advantages and disadvantages
This registry is meant to group all configuration information together, in order to both give it a semblance of organization and limit the number of configuration files on the hard drive.
The registry is a file containing a tree structure in which settings are grouped by criteria. Each criterion corresponds to a branch which may then be subdivided into other branches (hence, a "tree"). Each configuration element is located at the very end of a branch in what is called "a key".
The biggest problem with this registry is that, after a program is installed, it creates several keys in various places in the registry, and when it is uninstalled, the keys are erased (in a best-case scenario) but the branches of the tree remain. When you install program after program and later erase them, little by little the system slows down. Eventually, you may have to reinstall Windows.
Editing the registry
This colossal edifice can be edited, but it must be done with caution (the registry is the heart of Windows — no registry, no Windows).
- The first thing that must be done is making a copy of the registry. This will let you restore your initial settings if a problem arises.
- Then, you must disable the attributes of the files system.dat and user.dat
- Finally, run the program "c:\windows\regedit.exe"
All that's left is modifying the keys that you want to edit.
Description of the branches
In the registry editor (regedit.exe) you will see six main branches:
- HKEY_CLASSES_ROOT (called HKCR): Contains all file associations; the names of the first keys listed within it correspond to the file extensions in question.
Shown lower down on the tree are keys which correspond to the names of file types, and their attributes:
- The default icon (DefaultIcon)
- The associated action (shell): open, run, etc.
- HKEY_CURRENT_USER (called HKCU): Defines settings for the current user, and is divided into six sub-categories:
- control panel: for the control panel
- software: for software that has been installed
- AppEvents: for system sounds (the beep or boop when you click on something)
- keyboard layout: for keyboard settings
- Remote Access: for remote access over a network
- Network: Network configuration
- HKEY_LOCAL_MACHINE (called HKLM): Contains all information related to your machine:
- hardware: for the processor and motherboard
- enum: for hardware (peripheral devices, etc.)
- network: for networking and the Internet
- software: for software configurations shared by all users
- HKEY_USERS (called HKU): Contains separate settings for each user
- HKEY_CURRENT_CONFIG (called HKCC): This is a shortcut to the configuration currently being used in HKLM\Config. It contains settings for the current configuration of the computer.
- HKEY_DYN_DATA (called HKDD): This is a shortcut to the components currently being used only in RAM in HKLM\Config (volatile information: exists only temporarily, until the system is reinitialized).