Friday, January 27, 2006

Windows Update Died

Yesterday morning I woke up to the fact that I should not have install EXT2 IFS since my system did not like it and greeted me with a nice STOP Blue screen of death. So I booted into my trusty Linux partition of which had messed up data due to the EXT2 IFS software. I copied the registry files from the the repair directory over my live registry setting me back 4 years. Booted my PC to be greeted by a Network Identification wizard (the very being). My first thought was to do a clean install, but decided against it since I did not have the time, and went to work repairing an re-linking all my applications to my task bar.

Then came the Windows Updates (my firewall was not installed yet and my Antivirus network shield was going nuts), it just kind of hung at "Checking your PC for the Lastest Version of Software" message. I actually left it there until the next morning.

Turns out that Windows Update folder in Program Files is important. The actual problem was trying to figure out what was wrong without having an error message. After googling for awhile and finding nothing but the fact that there is a Windows Update.log file in the WINNT folder, I decided to check it out. When I was looking at the log I noticed that when Windows Update is installed it downloads a and extracts iuengine.dll and iuctl.dll. Since I had forced software to reinstall before by renaming the files, a gave it a go and retried Windows Updates again.

Well I had it right and Windows Update coughed up an error: 0x80070424. After a little Googling I came up with this newsgroup posting:
And from an recent post by Mark Brown [MSFT], you could try this:

Accessing Windows Updates Site


Certain required DLL files unregistered

Action Plan
1. open "wordpad"
2. copy this text (below) into the "wordpad"
3. save the "wordpad" file as "IEreg.bat" to your desktop and then "double
click" to launch

cd /d %SystemRoot%\system32
regsvr32 comcat.dll /s
regsvr32 shdoc401.dll /s
regsvr32 shdoc401.dll /i /s
regsvr32 asctrls.ocx /s
regsvr32 oleaut32.dll /s
regsvr32 shdocvw.dll /I /s
regsvr32 shdocvw.dll /s
regsvr32 browseui.dll /s
regsvr32 browseui.dll /I /s
regsvr32 msrating.dll /s
regsvr32 mlang.dll /s
regsvr32 hlink.dll /s
regsvr32 mshtmled.dll /s
regsvr32 urlmon.dll /s
regsvr32 plugin.ocx /s
regsvr32 sendmail.dll /s
regsvr32 scrobj.dll /s
regsvr32 mmefxe.ocx /s
regsvr32 corpol.dll /s
regsvr32 jscript.dll /s
regsvr32 msxml.dll /s
regsvr32 imgutil.dll /s
regsvr32 thumbvw.dll /s
regsvr32 cryptext.dll /s
regsvr32 rsabase.dll /s
regsvr32 inseng.dll /s
regsvr32 iesetup.dll /i /s
regsvr32 cryptdlg.dll /s
regsvr32 actxprxy.dll /s
regsvr32 dispex.dll /s
regsvr32 occache.dll /s
regsvr32 occache.dll /i /s
regsvr32 iepeers.dll /s
regsvr32 urlmon.dll /i /s
regsvr32 cdfview.dll /s
regsvr32 webcheck.dll /s
regsvr32 mobsync.dll /s
regsvr32 pngfilt.dll /s
regsvr32 licmgr10.dll /s
regsvr32 icmfilter.dll /s
regsvr32 hhctrl.ocx /s
regsvr32 inetcfg.dll /s
regsvr32 tdc.ocx /s
regsvr32 MSR2C.DLL /s
regsvr32 msident.dll /s
regsvr32 msieftp.dll /s
regsvr32 xmsconf.ocx /s
regsvr32 ils.dll /s
regsvr32 msoeacct.dll /s
regsvr32 inetcomm.dll /s
regsvr32 msdxm.ocx /s
regsvr32 dxmasf.dll /s
regsvr32 /s
regsvr32 /s
regsvr32 /s
regsvr32 /s
regsvr32 danim.dll /s
regsvr32 Daxctle.ocx /s
regsvr32 lmrt.dll /s
regsvr32 datime.dll /s
regsvr32 dxtrans.dll /s
regsvr32 dxtmsft.dll /s
regsvr32 WEBPOST.DLL /s
regsvr32 WPWIZDLL.DLL /s
regsvr32 POSTWPP.DLL /s
regsvr32 CRSWPP.DLL /s
regsvr32 FTPWPP.DLL /s
regsvr32 FPWPP.DLL /s
regsvr32 WUAPI.DLL /s
regsvr32 WUAUENG.DLL /s
regsvr32 ATL.DLL /s
regsvr32 WUCLTUI.DLL /s
regsvr32 WUPS.DLL /s
regsvr32 WUWEB.DLL /s
regsvr32 wshom.ocx /s
regsvr32 wshext.dll /s
regsvr32 vbscript.dll /s
regsvr32 scrrun.dll mstinit.exe /setup /s
regsvr32 msnsspc.dll /SspcCreateSspiReg /s
regsvr32 msapsspc.dll /SspcCreateSspiReg /s


Now I received another error from Windows Update: 0x800A01AE. After a little more googling I came up with this Microsoft KB article. Even though it is for Windows XP and higher it still kind of worked. Just skip the parts labeled not for Windows 2000, if you get any errors, no worries just keep on going.

Now I was rolling except my first update (Windows Genuine Advantage Tool) kept failing to download. After checking the update log I found another error: 0x80246008. A little more googling and I came up with this page:

When you try to connect to the Microsoft Windows Update Web site or to the Microsoft Update Web site, you receive one of the following error messages:

The necessary services are disabled or unavailable. Error 0x80246007

The necessary services are disabled or unavailable. Error 0x80246008
This problem occurs if the Background Intelligent Transfer Service (BITS) is not correctly registered on your computer.
To resolve this problem, register the Qmgr.dll and Qmgrprxy.dll BITS files. To do this, follow these steps:
1. Click Start, click Run, type regsvr32 qmgr.dll in the Open box, and then click OK.
2. Click OK.
3. Click Start, click Run, type regsvr32 qmgrprxy.dll in the Open box, and then click OK.
4. Click OK.

I posted some of the articles in case they disappear (MS KB Lives forever :).

I learned a few things from this experience:
1. DO NOT DELETE Windows Update Folder
2. Restoring registry hive to default IS BAD
3. DO NOT second guess yourself
4. Gentoo Linux ROCKS!