May 1998

The Windows 95 Registry

The registry contains information about your PC's hardware, the Windows operating system, the user, and your software applications. In previous versions of Windows and MS-DOS, this information was scattered in many different files, each with its own format. Windows 95 attempts to bring order to a situation that had become quite chaotic.

Although the Windows 95 registry acts as a single repository of information, it is implemented as two files: System.dat and User.dat. Both are hidden files in the System directory (usually C:\Windows\System). The System.dat file contains information about the computer, such as which printers are available and what applications are installed. The User.dat file contains information about the user of the computer, such as the arrangement of icons on the desktop.

Because the registry contains so much critical information, a corrupted registry can be a serious problem. In the worst case, you might need to re-install Windows 95 and all your applications. For this reason, Windows goes to some effort to keep backup copies of the registry.

Each time your PC starts Windows 95 successfully, Windows makes a backup copy of the two registry files, which it names System.da0 and User.da0. Windows also keeps the file System.1st, which is a copy of System.dat as it existed the first time that Windows 95 started successfully on your PC.

Registry Problems

As you might expect, things can go wrong with the registry. The fact that it contains information from all your applications means that every application on your computer can read from and write to the registry. That, in turn, means that any application might corrupt the registry.

Corruption Scenario #1

You are working with some application and suddenly you get the message

Windows has encountered an error accessing the system registry . . .

When you follow the instructions, Windows will use the backup copy of the registry files and, if you are lucky, no further problems will occur.

Corruption Scenario #2

Your PC cannot start Windows because the registry is corrupted. When you follow the instructions to restore the registry from the backup copy, either this works and your problems are solved, or you get the same error message again.

If you get the message again, the backup copies were also corrupted.

Corruption Scenario #3

Your PC starts just fine, but you get an error message when you use it. If you let Windows restore the registry from the backup copies, it reboots successfully but you get the error again shortly afterwards. Here again the backup copies are corrupted.

The Official Solution

If you are comfortable working with DOS commands, Microsoft has some advice on how to proceed. An article entitled How to Troubleshoot Registry Errors (article ID Q131431) suggests procedures which use the registry editor, Regedit.exe, to export the registry to a file and import it back again.

If that doesn't work, they suggest using the backup files. We doubt that will work, since at this point the backup files are usually identical to the corrupted files.

Next they suggest using System.1st. This file will almost certainly boot the system, since it worked at some point in the past. However, it will not have registry entries made by applications or by hardware changes after that, so you may still have very serious problems.

Restore From Tape Backup

An alternative is to restore the registry from a tape backup, if you have one. You may need to go back several days to find a good copy of the registry. A single backup tape which you write over every night will not help if the corruption occurred the previous day.

The older the registry backup, the more likely it is that it is not current. Programs you have installed during the interim probably won't work, and any program options you have changed may go back to their old settings.

Re-Install Windows

If everything else fails, you must re-install Windows 95. It is important to erase the existing registry and its backup copies. If you don't, Windows will not start fresh and create a new registry; it will use the old, corrupted registry files. The article mentioned earlier suggests renaming the registry files and deleting the user profiles in C:\Windows\Profiles (if there are any).

You should expect problems with some of your applications after you re-install Windows, because there may be registry entries which are lost that the application requires. You will need to re-install those applications.

A Poor Design?

The basic problem with the design of the registry, we think, is that it mingles system information and application information. Any program can write to the registry, so any program can corrupt it.

However, even if the application information were separate from the system information, just as the user information is now in a separate file, one program could still corrupt the application registry which all programs are relying on.

A better design would be to use separate initialization (.ini) files for each program, which is just what Windows 3.1 did. Each program might corrupt its own file, but it wouldn't affect the entire computer. Windows should provide a standard subdirectory in the Windows system directory (say, C:\Windows\System\Ini) for all the initialization files. A common location for all initialization files allows an application to determine if it is already installed on the computer, which may be important when a new version of the application is installed.

RTG Bills And The Registry

RTG Bills, our time and billing software for law firms, does not use the Windows 95 registry. If your registry gets corrupted, you can be certain that some other application is responsible.

We store initialization information in the files Rtgbills.ini, Rtgtimer.ini, and Xport.ini. Because Windows does not have a standard location for initialization files, we keep them in the same directory as the application itself. To install a new version from floppy disks, we rely on the user to remember where the program was originally installed (we recommend C:\Rtgbills). However, if you upgrade to a new version using the free upgrade files on our Web site, the software can tell you which directory to put the upgrade files in.

RTG Bills and RTG Timer are trademarks of RTG Data Systems. Other company and product names may be trademarks of the companies with which they are associated.

Back to the RTG News page