When you change the desktop wallpaper using Control
Panel’s Display icon, the next time you start your computer, how does
Windows Vista know which wallpaper you selected? If you change your
video display driver, how does Windows Vista know to use that driver at
startup and not
the original driver loaded during Setup? In other words, how does
Windows Vista remember the various settings and options either that
you’ve selected yourself or that are appropriate for your system?
The secret to Windows
Vista’s prodigious memory is the Registry. The Registry is a central
repository Windows Vista uses to store anything and everything that
applies to the configuration of your system. This includes all the
following:
Information about all the hardware installed on your computer
The resources those devices use
A list of the device drivers that Windows Vista loads at startup
Settings that Windows Vista uses internally
File type data that associates a particular type of file with a specific application
Wallpaper, color schemes, and other interface customization settings
Other customization settings for things such as the Start menu and the taskbar
Settings for accessories such as Windows Explorer and Internet Explorer
Internet and network connections and passwords
Settings and customization options for many applications
It’s all stored in one
central location, and, thanks to a handy tool called the Registry
Editor, it’s yours to play with (carefully!) as you see fit.
A Brief History of Configuration Files
It wasn’t always this way. In the early days of DOS and Windows (version 1!), system data was stored in two humble files: CONFIG.SYS and AUTOEXEC.BAT, those famous (or infamous) Bobbsey twins of configuration files.
When Windows 2.0 was born (to little or no acclaim), so too were born another couple of configuration files: WIN.INI and SYSTEM.INI. These so-called initialization files were also simple text files. It was WIN.INI’s job to store configuration data about Windows and about Windows applications; for SYSTEM.INI,
life consisted of storing data about hardware and system settings. Not
to be outdone, applications started creating their own INI files to
store user settings and program options. Before long, the Windows
directory was festooned with dozens of these INI garlands.
The air became positively thick with INI files when Windows 3.0 rocked the PC world. Not only did Windows use WIN.INI and SYSTEM.INI to store configuration tidbits, but it also created new INIs for Program Manager (PROGMAN.INI), File Manager (WINFILE.INI), Control Panel (CONTROL.INI), and more.
It
wasn’t until Windows 3.1 hit the shelves that the Registry saw the
light of day, albeit in a decidedly different guise from its Windows
Vista descendant. The Windows 3.1 Registry was a database used to store
registration information related to OLE (object linking and embedding)
applications.
Finally, Windows for
Workgroups muddied the configuration file waters even further by adding a
few new network-related configuration files, including PROTOCOL.INI.
The Registry Puts an End to INI Chaos
This INI inundation led to
all kinds of woes for users and system administrators alike. Because
they were just text files in the main Windows directory, INIs were
accidents waiting for a place to happen. Like sitting ducks, they were
ripe for being picked off by an accidental press of the Delete key from a
novice’s fumbling fingers. There were so many of the darn things that
few people could keep straight which INI file contained which settings.
There was no mechanism to help you find the setting you needed in a
large INI file. And the linear, headings-and-settings structure made it
difficult to maintain complex configurations.
To solve all these
problems, the Windows 95 designers decided to give the old Windows 3.1
Registry a promotion, so to speak. Specifically, they set it up as the
central database for all system and application settings. The Registry
essentially maintains this structure in Windows Vista.
Here are some of the advantages you get with this revised Registry:
The Registry files
(discussed in the next section) have their Hidden, System, and
Read-Only attributes set, so it’s much tougher to delete them
accidentally. Even if a user somehow managed to blow away these files,
Windows Vista maintains backup copies for easy recovery.
Not
only does the Registry serve as a warehouse for hardware and operating
system settings, but applications are free to use the Registry to store
their own configuration morsels, instead of using separate INI files.
If
you need to examine or modify a Registry entry, the Registry Editor
utility gives you a hierarchical, treelike view of the entire Registry
database (more on this topic later).
The Registry comes with tools that enable you to search for specific settings and to query the Registry data remotely.
That’s not to say that the
Registry is a perfect solution. Many of its settings are totally
obscure, it uses a structure that only a true geek could love, and
finding the setting you need is often an exercise in guesswork.