Previous | Next

Troubleshooting the Registry

This section provides some tips for troubleshooting registry problems, and for troubleshooting your system using the registry.

Understanding Operating System Load and Desktop Initialization

Understanding this phase of the boot process can help when you need to troubleshoot registry and operating system problems.

The Windows 98 operating system load sequence is as follows:

Sequence Component Description
1 Registry Base system information
2 System.ini Legacy system configuration
3 Kernel32.dll Main operating system code
4 Gdi.exe and Gdi32.dll Graphical device interface; graphics engine
5 User.exe and User32.exe Code for managing the user interface including the window manager
6 Resources and fonts
7 Win.ini Legacy system program and user configuration

The Windows 98 desktop initialization sequence is as follows:

  1. The Windows shell loads and machine policies are enforced.
  2. The desktop components load.
  3. If connected to a network, a logon prompt appears. Once the user is logged on, the logon scripts are carried out and policies are enforced for the user.
  4. Once the user logs on, the system can process user-specific configuration information and load any user-specific policy files. If the user does not log on, default settings are used to determine user preferences. If network logon is set, the user is logged on to the network during this process.

Troubleshooting Registry Startup Errors

Accessing system registry.

When you start Windows 98, you receive one of the following error messages:

Windows encountered an error accessing the system Registry. Windows will restart and repair the system Registry for you now.

Windows 98 will restart your computer and run Registry Checker in MS-DOS mode (Scanreg.exe) to fix the problem.

Not enough memory.

When you start Windows 98, you receive 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 see this message after you run ScanReg /Fix, then you need to free up conventional memory in your computer.

Error When Removing a Program with Add/Remove Programs

When you remove a program using the Add/Remove Programs option in Control Panel, you receive the following error message:

An error occurred while trying to remove <Program Name>.
Uninstallation has been canceled.

This error can occur if you have manually deleted a program that is listed in the Install/Uninstall list in the Add/Remove Programs Properties dialog box. To remove a program from the Install/Uninstall list, delete the appropriate key under the following registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

Windows 98 Cannot Find a Needed Device File

When you start Windows 98, you receive an error message telling you that Windows 98 cannot find a device file that may be needed to run Windows or a Windows-based application. Sometimes a specific file name is specified.

This error message can occur for either of the following reasons:

To resolve this problem, follow each step below until the error no longer occurs:

  1. If you recently removed a program or component, reinstall the program or component, then run the uninstall program if one is available. If no uninstall program is available for the program or component, contact the manufacturer to obtain instructions on uninstalling.
  2. If the missing device driver has a .386 extension, disable the line referring to this device driver in the System.ini file by placing a semicolon (;) at the beginning of the line.

    For example, if the line referencing the missing device driver reads:

    device=Example.386
    

    change the line to read:

    ;device=Example.386
    
  3. If the missing device driver has a .vxd extension, it is a driver designed for use with Windows 98 and is referenced in the registry. In most cases, a program or component with drivers designed for use with Windows 98 will also be listed in the Add/Remove Programs option in Control Panel. Following the instructions in step 1 should correct the problem.

If the error occurs after following the instructions in step 1, you need to locate the value that references the missing device driver in the registry, and delete that registry value.

If a specific device driver is not named in the error message, one of the StaticVxD values in the registry is probably blank or contains only spaces. The StaticVxD values are located in the registry keys below the following key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD

Use Registry Editor to locate and delete any StaticVxD value in the registry that contains invalid data, is blank, or contains only spaces.

When Windows 98 starts, the System.ini file and the registry are read to obtain a list of device drivers to load. When Windows 98 cannot locate a virtual device driver that it is attempting to load, an error message is generated.

Virtual device drivers are files required by various programs to communicate with your computer’s hardware.

The following sample registry key contains a StaticVxD value:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\COMBUFF

The data for this StaticVxD value is "*COMBUFF" (without the quotation marks; the quotation marks appear in Registry Editor, but are not part of the VxD name). The asterisk (*) preceding the VxD name indicates that the VxD is internal to the Vmm32.vxd file. If the VxD referenced by the StaticVxD value is not internal to the Vmm32.vxd file, its name is not preceded by an asterisk and typically has a .vxd extension.

Additional Resources
For more information about See this resource
Windows 98 registry Inside the Microsoft Windows 98 Registry by Günter Born
Windows NT registry The Microsoft Windows NT Workstation Resource Kit

The Microsoft Windows NT Server Resource Kit

Programming the registry The Microsoft Windows 98 Software Development Kit

Win32 Software Development Kit for Windows 98 and Windows NT