Home Page
 
Computer Services
  Repairs (PC, Laptop, Mac)
  Networking
  Upgrades
 
Mike Hostetter, Owner
Cell : 717-873-2964
Office : 717-505-7998
Email : shop@onegeek.com
Web : www.onegeek.com
  1923 W. Market St
York, PA 17404
 

Windows XP Userinit Fix

The problem:
When you log into windows XP, you are immediately logged out. The desktop may show right before logging you out and back to the welcome screen.

The cause:
You are possibly missing a reference to the userinit.exe program in the registry. (I beleive) The userinit program is the first program to start, which calls other startup programs for your windows xp account.

This could have been removed by spyware removal programs (indirectly) or accidently deleting the value in autoruns/startupeditor referencing userinit.exe.

The Fix
I created a program to run a *.reg file. There are a couple of steps to make this fix/hack work.

Disclaimer: You are responsible for your actions.

1. You will need to connect the harddrive of the bad computer to a working xp machine. This can be done as a slave drive or a ide->usb adapter. We now have access to the bad computer's filesystem.

2. We need our program to run when the computer starts. To do this, we will temporarily replace the printer spool service (which most likely is enabled by default) with our program. The printer spool service is called spoolsv.exe and located in the c:\[windowsdir]\system32\spoolsv.exe of the BAD Computer. Find this file and rename it to spoolsv.exe.bak.

3. Download spoolsv.exe (the fix) to c:\[windows dir]\system32\spoolsv.exe. Note: this will not overwrite any file, because in step 2, we made a backup of the original spooler service program.

4. My program has a hardcoded value of "C:\windows\regedit.exe". If your windows directory in the Bad computer is located anywhere else, you must copy the regedit.exe file from c:\[windows dir]\ to "C:\windows\".

5. Download the userinitfix.reg to c:\ in your Bad computer. You NEED to modify this file to reference the correct path of your userinit.exe file.

You're finished. Now, reconnect the bad drive to the original computer. When you log in, you will see a blank window and a prompt confirming the addition of the registry information in userinitfix.reg. Simply answer Yes. Log out and back in, and your desktop should appear.

If your desktop appears, you will need to browse to c:\[windowsdir]\system32\ to restore the original spoolsv.exe file. Delete my program spoolsv.exe. Rename spoolsv.exe.bak to spoolsv.exe. Reboot the computer and you should have a print spooler service.

Download the source files for the fix here

Thank you to Reed for the idea of replacing the print spooler service.

© OneGeek - Computer and Internet Services - Mike Hostetter: 717-873-2964 - Contact