Windows 98 Registry Checker: How Scanreg Worked

The Registry Checker tool, known executable-wise as Scanreg, was a vital system maintenance and recovery utility introduced in Microsoft Windows 98 designed to protect system stability. It automatically scanned the Windows registry for errors, generated daily compressed backups of critical system files, repaired corrupted database structures, and provided a reliable command-line environment to restore prior working configurations if the operating system failed to boot.

Prior to Windows 98, registry corruption often rendered a computer completely unbootable, requiring manual file restoration from MS-DOS. The Registry Checker solved this issue through two distinct versions: a 32-bit Windows utility (Scanregw.exe) and a 16-bit real-mode DOS utility (Scanreg.exe).

Automated Daily Backups

Each day upon the first successful startup, Windows 98 silently executed Scanregw.exe via the system startup group. The tool checked the integrity of the registry and created a compressed backup stored as a CAB file in the hidden C:\Windows\Sysbckup directory. By default, it maintained the five most recent backups (named rb000.cab through rb004.cab), though this limit could be adjusted in the Scanreg.ini configuration file. Each archive contained:

  • System.dat (system hardware and software settings)
  • User.dat (user-specific preferences and profiles)
  • System.ini (legacy Windows system configuration)
  • Win.ini (legacy application configuration)

Registry Scanning and Repair

Scanreg performed structural integrity checks on the registry files. It inspected the internal cross-references and allocation structures rather than the validity of specific settings. If Scanreg detected corruption during startup, it notified the user and attempted an automatic restoration using the most recent clean backup.

Registry Compacting and Optimization

Over time, adding and removing software left unused space and fragmentation inside System.dat and User.dat. Scanreg included optimization functionality that rebuilt the registry databases by eliminating unreferenced keys and slack space. This reduced registry file sizes, decreased memory usage, and improved startup times.

Recovery from MS-DOS

If Windows 98 failed to load the graphical user interface due to severe registry errors, users could boot into MS-DOS mode or use a Windows 98 Startup Disk to run the real-mode Scanreg.exe. From the command prompt, several essential switches were available:

  • scanreg /restore: Displayed a list of available backups sorted by date, allowing the user to select and restore a known working registry snapshot.
  • scanreg /fix: Attempted to repair the current registry files in place without overwriting them with an older backup.
  • scanreg /backup: Manually forced the creation of a new backup archive without launching Windows.

Through automated routine checks and low-level recovery mechanisms, the Registry Checker served as a primary safeguard against fatal configuration errors and driver conflicts throughout the lifecycle of Windows 98.