Monday, August 27, 2007

Repairing Windows Update

Summary: When your Windows Update stops working, try a few simple troubleshooting steps before calling Microsoft (which you can also do).

All of a sudden, Windows Update (AKA Microsoft Update) stopped working on my computer (Windows® XP SP 2). Every time I accessed the Microsoft Update Web site, I got the following error:
The site cannot continue because one or more of these Windows services is not running:
  • Automatic Updates (allows the site to find, download and install high-priority updates for your computer)
  • Background Intelligent Transfer Service (BITS) (helps updates download more quickly and without problems if the download process is interrupted)
  • Event Log (keeps a record of updating activities to help with troubleshooting, if needed)
The error message also included 11 steps to "make sure these services [were] running." I followed the instructions and restarted the services just in case. It did not help. Then I noticed the Microsoft Online Assisted Support (no-cost for Windows Update issues) link, which took me to the page showing an option to Contact a Support Professional by Email, Online, or Phone.

I signed in and submitted a support request. To my surprise, within 24 hours, I got a response with detailed troubleshooting instructions. After completing the first step, Windows Update started to work. Here are the instruction in case someone encounters the same problem.

Step 1: Register DLL files

By trying this step, we can check if the update engines are working properly.
  1. Close all instances of Internet Explorer.
  2. Select Run from the Start menu.
  3. In the Open box, type

    regsvr32 atl.dll

    and click OK (notice that there is a space between regsvr32 and atl.dll).
  4. Similarly, one by one, register the files listed below:

    regsvr32 msxml3.dll
    regsvr32 wuapi.dll
    regsvr32 wuaueng.dll
    regsvr32 wuaueng1.dll
    regsvr32 wups2.dll
    regsvr32 wucltui.dll
    regsvr32 wups.dll
    regsvr32 wuweb.dll
    regsvr32 qmgr.dll
    regsvr32 qmgrprxy.dll
    regsvr32 jscript.dll


    While registering each DLL file you should get the "succeeded" message. If you encounter any error message, you probably need to contact Microsoft.
If the issue persists, move on to step 2.

Step 2: Verify the relevant Windows Update services
  1. Select Run from the Start menu.
  2. In the Open box, type

    services.msc

    and click OK.
  3. Double-click the Automatic Updates service.
  4. Click on the Log On tab and make sure that the Local System account option is selected and the Allow service to interact with desktop option is unchecked.
  5. Check if this service has been enabled in the listed Hardware Profile; if not, click the Enable button to enable it.
  6. Click on the General tab; make sure that the Startup Type is set to Automatic. Click the Stop button under Service Status to stop the service.
  7. Click the Start button under Service Status to start the service.
  8. Please repeat the above steps with the following services:

    Background Intelligent Transfer Service
    Event Log


    The Event Log service is enabled on all of the hardware profiles. This service does not have an option to enable or disable on certain hardware profiles.
If the previous steps still do not help, proceed to step 3.

Step 3: Reload the Update temporary folders

One possible cause is that the temporary folder for Windows Update contains corrupted files. Let's erase all the files there to get the system clean.
  1. Select Run from the Start menu.
  2. In the Open box, type

    cmd

    and click OK.
  3. In the command-prompt window, enter the following command:

    net stop WuAuServ

  4. Select Run from the Start menu.
  5. In the Open box, type

    %windir%

    and click OK
  6. In the opened folder, rename the folder SoftwareDistribution to Sdold.
  7. Select Run from the Start menu.
  8. In the Open box, type

    cmd

    and click OK.
  9. In the command-prompt window, enter the following command:

    net start WuAuServ
If at this point Windows Update still does not work, you will probably need request support from Microsoft, but before you do, if you are technical enough, you may want to see if the WindowsUpdate.log file contains any suspicious errors. To open this log file in default text editor, enter its name in the Start-Run menu.

Additional references
Stealth Windows update prevents XP repair
Get the latest Windows updates securely

1 comment:

Alek Davis said...

I'm glad I wrote this post. It just helped me to fix the broken Windows Update (this time it was error 0x800A0007). The problem seemed to be corrupted files in the SoftwareDistribution folder. Once I deleted it, the update started to work.