Plenty has been said already about the Windows registry, and how it handles the “behind the scenes” running of Windows 9x. Some people love the idea, and some hate how it seems to cause more errors, BSOD’s (Blue Screens of Death), and GPF’s (General Protection Faults) than any previous operating system.
One must remember that, until Windows 95 came along, Windows was just a GUI (Graphical User Interface), and there was no need for a registry. Computers came with some kind of DOS, and you used whatever programs you wanted to, without the complicated install and setup procedures that are so common today. The more features, program integration, and bells and whistles a program has, the more the need for a registry became apparent (at least to the folks at Microsoft). Along with the invention of the registry, came the advent of bloatware, shareware, and freeware, all with varying degrees of registry corruption. Depending on the savvy of the software author, his install and uninstall procedures could leave the registry full of invalid keys. Each one sure to give you the option of hitting the Enter key just one more time, whenever you started your computer. After learning the hard way by manually editing the registry either through regedit.exe, or notepad, and crashing my computer repetitively (otherwise known as trial and error), the need for a simpler, foolproof method of removing the junk became apparent. Along came the first version of Shop Vac. It worked, it also took in excess of 12 hours to complete on a 486 with a 1 gig hard drive. As computers gained speed, software authors gained momentum, and the registry became even bigger, with even more problems associated with it.
Along came Shop Vac version(s) 2,3,4,5,6,ad infinitum, until nobody knew what version was doing what. Some smart guy figured out that using a few functions built in to DOS and Windows could speed up the process a lot. The first major modification was the addition of the Smartdrive line at the beginning. Soon after that, the process was modified to be run as a batch file, instead of a checklist that a user would have to print out before using. Over time, the batch file became more efficient, smaller, and even more powerfull, until it took on the form that it’s in today. This little file, all of 281 bytes, will clean the registry more thoroughly than any 3rd party program, using only commands and switches written by Microsoft, and do it faster than anything to date. Credit is due to numerous people for refining the process, mostly to Shane Chen for starting the whole thing, and Tolome (real name unknown), for introducing the smartdrive line, and many others like myself. Below is the code as it stands today. Copy and paste this code into notepad, save it as a .bat file (shopvac.bat?) restart the computer in DOS mode, and run this little gem. For fun, compare the current size of your system.dat and user.dat files to the old ones (named system.txt and user.txt) by this process.
rem {begin code}
REM Shopvac 2000 Version 5.5
REM by Jim Delong (reboot@pcmech.com)
REM Updated January 10, 2001
cd\windows
smartdrv
@echo off
echo DO NOT run this within windows.
echo You MUST restart in DOS mode, or start in DOS
echo for this to work.
echo Hit ctrl-c now to abort, or
pause
echo Now exporting the registry
echo and making backups.
attrib -h -r -s *.dat
regedit /l:c:\windows\system.dat /e c:\system.txt
regedit /r:c:\windows\user.dat /e c:\user.txt
echo Now checking for old Shopvac files
echo and making redundant backups.
IF EXIST c:\windows\user.dbt REN c:\windows\user.dbt user.dct
IF EXIST c:\windows\system.dbt REN c:\windows\system.dbt system.dct
echo Now renaming the old registry as
echo system.dbt and user.dbt
ren system.dat *.dbt
ren user.dat *.dbt
echo Now rebuilding the registry.
echo Depending on the size of your hard drive,
echo and the speed of your system,
echo this could take some time.
echo.
echo Now rebuilding system.dat
regedit /l:c:\windows\system.dat /c c:\system.txt
echo.
echo Now rebuilding user.dat
regedit /r:c:\windows\user.dat /c c:\user.txt
echo.
echo Shopvac 2000 is done.
echo You will now be restarted, and returned to Windows.
pause
Exit
Now, below is an undo file for usage when restoring the backups made by the above code.
rem {begin code}
@echo off
cls
echo Jim (reboot) Delong’s svacundo.bat,
echo a Win9x/ME Shopvac crash recovery tool.
echo Version 1.1 Oct 5, 2000
echo ———————————————————
echo Copyright (c) 2000 Jim Delong
echo http://members.cnx.net/reboot
echo Use Notepad to view this file’s contents before running!
echo Who knows, you may learn a little about DOS.
echo Only you can determine if the file contents and
echo structure are OK to run on *your specific* setup.
echo.
:: This file is offered as-is and without warranty of any kind.
:: This file may redistributed as long as all header information
:: is retained in the final file.
echo ———————————————————-
echo This file restores the backups made with Shopvac.bat
echo in case of a system crash.
echo.
echo This file assumes you have kept the backups made
echo by Shopvac.bat, named system.dbt and user.dbt
echo !!!!!
echo Important! If you do NOT have those two files in your
echo c:\windows folder, DO NOT CONTINUE!
echo hit ctrl-c now to abort, otherwise
pause
cd windows
echo Now restoring your original user.dat
echo and system.dat files.
attrib -h -r -s -a user.dat
attrib -h -r -s -a system.dat
REN user.dat user.bad
REN system.dat system.bad
echo For redundancy, this renames your current (non working)
echo user.dat and system.dat with the .bad extention.
If exist user.dat del user.dat
If exist system.dat del system.dat
ren user.dbt user.dat
ren system.dbt system.dat
echo Files restored.
echo Windows will now restart.
exit
Enjoy, and please share this with your friends.

I am looking to buy a product called RegCure from http://www.pc-registry-repair.com but I am not sure how well these programs work. Any ideas?