Microsoft

Talking Shop: Troubleshooting the registry

Avoid a great deal of Windows problems by troubleshooting the registry.


As you probably know, the Windows 98 registry is a huge database that controls virtually every aspect of Windows 98’s behavior. Therefore, it should come as no surprise that an error in the registry can cause all sorts of Windows problems that vary in severity anywhere between annoying and fatal. In this Daily Drill Down, I’ll show you techniques you can use to troubleshoot some of the more common registry problems.

Be careful!
Because the registry controls such a large portion of Windows, you should exercise extreme caution when working with the registry. Making a mistake in the registry can destroy Windows 98 and/or your programs. Therefore, you should never make a change within the registry unless you’re fully aware of its impact. Furthermore, you should always back up your system before making any modifications to the registry.

The Registry Editor
The primary tool for making manual registry changes is the Registry Editor. Because of the Registry Editor’s destructive capability, Microsoft didn’t create an icon for it within Windows. Therefore, you must either create your own icon or run the Regedit program from the Run prompt.

As Figure A illustrates, the Registry Editor looks similar to Windows Explorer. As you can see, there are six primary registry keys beneath My Computer. Each of these primary keys has a plus sign beside it that you can click to expand the key, as shown in Figure B.

Figure A
The Registry Editor functions similarly to Windows Explorer.


Figure B
You can click any plus sign to expand its corresponding key.


Any time that you see a plus sign, you can further expand the registry. When you reach the deepest key in a given path, you can click on the key to see the key’s values, as shown in Figure C.

Figure C
The lower level registry keys contain values.


Each value is made up of a name and the value’s data. Any time that you need to make a change to an existing value, right-click on it. Doing so brings up a context menu that lets you modify, rename, or delete a value. Renaming a value allows you to change only the name portion of the value, while modifying a value allows you to edit only the data portion.

To create a new key or value, navigate to the desired location and select the New command from the Edit menu. Creating a new key works exactly like creating a new folder under Windows Explorer.

There is one other feature of the Registry Editor that deserves to be mentioned. This is the Find and Find Next commands on the Edit menu. These commands allow you to locate specific keys and values throughout the registry. You can even search on a partial word or value. As you become more comfortable editing the registry, you’ll use the Find feature a lot, since the registry tends to be very large and can potentially contain multiple instances of a given value.

Windows won’t boot
As I mentioned earlier, a registry error can be very disturbing, especially when it’s serious enough to prevent your machine from booting. Suppose that you booted your computer and instead of seeing the Windows desktop, you saw the following error:
Windows encountered an error accessing the system Registry. Windows will restart and repair the Registry for you now.

Your initial thoughts may be something along the lines of, “Yikes, what do I do now?” (or something much worse such as, “This !@#$%^&* piece of junk”). But read the message carefully. As you may recall, in Windows 95, the message read something like the following:
Windows has encountered an error accessing the system Registry and will be restarted.

Rather than simply rebooting your machine, only to encounter the same error again, Windows 98 is capable of repairing the error during the reboot. This is thanks to the Registry Checker program.

The Registry Checker
The Registry Checker is a tool that was initially released with Windows 98. It allows you to fix otherwise fatal registry problems. Each day when you boot your PC, the Registry Checker runs in the background. After a successful boot, the Registry Checker creates a compressed backup copy of your system’s registry. Windows 98 will maintain up to five backup copies of the registry, one for each of the last five days (or the last five days on which you booted your computer).

As I mentioned, the Registry Checker runs automatically at boot-up. If Windows 98 won’t boot because of a registry error, the Registry Checker will automatically restore the last backed-up registry. However, you may be wondering what happens if there isn’t a backup or if the backup has become corrupted.

Depending on the severity of the error, you can manually run the Registry Checker through DOS or through Windows 98. To run the Registry Checker through Windows 98, select the Programs | Accessories | System Tools | System Information command from the Start menu. When the System Information tool loads, you can launch the Registry Checker by selecting the Registry Checker command from the Tools menu.

When the Registry Checker runs, it will scan the registry for errors. If the Registry Checker encounters errors within the registry, it presents you with options for correcting those errors. If the registry is clean, the Registry Checker will look to see if the registry has been backed up today. If it hasn’t been backed up, it will tell you so and offer you a chance to back up the registry.

If the problem is bad enough that Windows won’t boot or is unreliable, you may run the Registry Checker through DOS mode. To do so, reboot your computer. As soon as you see the message that says Starting Windows 98, quickly begin repetitively pressing the [F8] key. Doing so will bring up the Windows 98 Start Up Menu. Select the option for Command Prompt Only. Doing so will cause Windows 98 to process your Config.sys and Autoexec.bat files and then stop booting before the graphical user interface loads, thus leaving you at the command prompt. Once at the command prompt, you may run the Registry Checker by executing the command
SCANREG /FIX

Not enough memory
Another registry problem can be caused by insufficient memory. During boot-up, you may see the following error message:
Windows was unable to process the Registry. This may be fixed by rebooting to Command Prompt Only and running SCANREG /FIX. Otherwise there may not be enough conventional memory to properly load the Registry.

If you receive an error such as this one, use the technique that I described earlier to boot Windows using the Command Prompt Only option and then run the SCANREG /FIX command. If you’ve done so but still encounter this error, it’s likely that you have insufficient conventional memory to load Windows.

As you may recall from those intro-to-computer classes, conventional memory refers to your first 640 KB of memory. Although Windows 98 is a high-level 32-bit operating system, it still depends on having a certain amount of conventional memory free to be able to load. Normally, memory managers and parameters defined within the IO.sys file make sure that Windows 98 has plenty of memory. However, as you may know, you can override these settings in the Config.sys and Autoexec.bat files.

If you’re receiving the error listed above, there’s a really good chance that either you’re loading too much stuff in Config.sys and Autoexec.bat, or you have a command in one of these files that’s draining your system of its conventional memory. To fix this sort of problem, boot to the Command Prompt Only option and use the Edit command to clean up Config.sys and Autoexec.bat as much as humanly possible.

Add/Remove Programs doesn’t work
Have you ever tried to uninstall a program through the Add/Remove Programs icon and received this error?
An error occurred while trying to remove <program name>. Uninstallation has been canceled.

This error almost always means that the program has been manually removed but that the registry still contains references to it. When this happens, you’ll want to clean up the registry to remove references to the program. To do so, begin by opening the Registry Editor and navigating to HKEY_LOCAL_MACHINE | Software | Microsoft | Windows | CurrentVersion | Uninstall. Beneath this registry key, you’ll find the list of installed programs. Once you locate this list, simply select the program that you’re trying to remove and press the [Delete] key. Doing so will remove the program from the list.

Keep in mind that using this technique removes the program only from the Add/Remove Programs list. There are almost certainly other references to the program contained within the registry. To get rid of these references, navigate to HKEY_LOCAL_MACHINE | Software. Beneath the Software key are keys for the various software manufacturers such as Microsoft, Symantec, and Sierra. Locate the manufacturer of the program that you’re trying to remove and click the plus sign next to it to expand the key. Beneath the manufacturer’s registry key, you’ll see a list of programs by that manufacturer that are installed on the system. Select the key that corresponds to the program you’re trying to delete and press the [Delete] key. For example, to uninstall MGI Photosuite, you’d delete the MGI PHOTOSUITE key beneath HKEY_LOCAL_MACHINE | Software | MGI.

The registry may still contain other references to the program you’re trying to remove. Unfortunately, the keys I’ve already pointed you to are the only keys that can be safely deleted every time. Other keys may contain information that’s shared by multiple programs. If you do want to try your luck at removing other registry keys, you can use the Registry Editor’s search feature to locate keys that correspond to the program you’re trying to remove. Be prepared—some programs, such as Microsoft Office, imbed hundreds of references within the registry. Also, NEVER try to remove Internet Explorer with this method.

Missing device file
Occasionally after removing a program you may receive a message stating that Windows 98 can’t find a file that may be needed to run Windows 98 or a Windows-based application. Most of the time, pressing a key will allow you to boot Windows, but the error message is still annoying to have to deal with. This problem is caused because either the registry or an .ini file calls a driver that no longer exists. The easiest way to correct this error is to reinstall the program and then uninstall it using the Add/Remove Programs Control Panel applet.

If this technique doesn’t work, there are other things you can do. Usually, the error message will contain a reference to a specific file. Write down the name of this file for future reference. If the filename ends with the .386 extension, the file is called from the System.ini file. To correct this problem, enter the SYSEDIT command at the Run prompt. When you see the System Configuration Editor, select the System.ini file. Next, use the System Configuration Editor’s search feature to search for the filename that you wrote down earlier. When you find the line that references the file (usually a DEVICE= line), place a semicolon in front of the command. Save your changes and reboot the PC. The error should be gone.

If the error references a file that ends in the .vxd extension, the error is in the Windows 98 registry. To correct this error, open the Registry Editor and use the search feature to locate the registry key that contains this value. Once you’ve located this key, delete it. Now, close the Registry Editor and reboot Windows to make sure that the error is gone.

Sometimes, an error such as the one described above won’t reference a file at all. If this happens, it’s a good indication that one of the static VXD references within the registry is blank or contains only spaces. You can check the contents of the static VXDs by opening the Registry Editor and navigating to HKEY_LOCAL_MACHINE | System | CurrentControlSet | Services | VxD. Once you’ve located this section of the registry, delete any registry keys beneath it that contain invalid or blank data or any keys that contain all spaces.

Conclusion
Errors within the Windows 98 registry can have devastating effects on your system. In this Daily Drill Down, I’ve explained a little bit about how the Registry Editor works. I’ve also explained how you can fix various Windows errors by making some simple changes to the registry. Remember that editing the Windows 98 registry is dangerous. Always make a backup of your system before making any changes to the registry.

Talainia Posey learned to handle PCs the old-fashioned way: by reading manuals and doing on-the-job troubleshooting. Her experience also includes installing networks for several small companies. When she's not working on computers, Talainia loves to shop for toys and watch cartoons, or spend time with her cat, Beavis.

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

Editor's Picks

Free Newsletters, In your Inbox