Friday, May 7, 2010

Windows Update error 8024402C

Today I decided to check the Windows Update status on my laptop, and to my surprise, I was getting an error code 8024402C. Pressing the “Try again” button didn’t help, I was getting the same error over and over again.

WSUS2

And I clicked the “Get help with this error” link, which indicated a lot of possible causes that lead to this error message. This set me on the right track - while my computer is not “usually connected to a network at work”, I did connect once to the work network and I joined the domain there. (It was more than a month ago, before leaving in vacation, and I didn’t even remembered I did that; it was also the last time updates were installed on the laptop).

And so, when I joined the domain, the domain administrators have set my computer to be managed by Windows Server Update Services (WSUS) , as (not verily clearly) indicated by the message “You receive updates: Managed by your system administrator” near the bottom of the page. (I knew that joining the domain would be bad juju sooner or later, but I had to do it so I can access the TFS servers for source control and bug tracking.)

I started searching for policies that were set on my machine and I came upon this Technet page describing  how to  manage the WSUS automatic updates with Group Policy. Indeed searching in Windows7 for “Group Policy”, launching the policy editor and looking at Computer Configuration/Administrative Templates/Windows Components/ Windows Update I found out I had one policy set, for “Specify intranet Microsoft update service location”

WSUS3 WSUS1

Unfortunately, setting it back to “Not configured” and rebooting the computer, didn’t help.

I then found out the WSUS Client Diagnostics Tool, and when I run it it indicated WSUS was still enabled on my machine, and still using the server name I had cleared out in policies. So the settings must have been preserved somewhere else…  Searching for WSUS configuration settings location I found out a page describing how to use WSUS without Active Directory, and I learned that Windows Update settings are stored in registry under HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate.

I used RegEdit to change the following registry setting, disabling the use of WSUS server.

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"UseWUServer"=dword:00000000

I tried again Windows Update and the error code this time changed from 8024402C into 80070057. This stands for ERROR_INVALID_PARAMETER, but indicated I was on the right track.

I stopped and restarted the Windows Update Service (I run in an elevated command prompt these commands)

net stop wuauserv
net start wuauserv

which saved me another reboot, and next time I tried Windows Update things were started working!

I guess next time I’ll connect the laptop to the work network the WSUS server will be re-configured and I’ll have to clear it up again, so here I’m writing this article to remind myself how to do it…