The first system was a Gateway, the second was a Dell - but based on
what I've read about others with this problem, it can be any system at
all. In the first case, I put in a CD with XP SP3 to do all the updates
at once. No good, windows update was broken. In the other case, I tried
a small step - first to XP SP2, then up to XP SP3 - and it was broken as
well.
Here is the the screen that comes up - click on any thumbnail image
to bring up the full size version:
They suggest a lot of things - like turning on automatic updates,
then running the command to force updates now (wuauclt /detectnow), and
none of those things worked for me. Others suggested manually
downloading the Windows Update Client and forcing the install by running
it from the command line with /wuforce to force the update to happen,
some said they were calling
Microsoft support, and other things - none of which fixed the problem
for my two laptops.
What is
happening
The short version is the install for Windows Update for some reason
isn't installing all the files it needs to run. It is leaving a couple
of older files as dust bunnies, and the whole update process is failing
due to the new code trying to talk to an older .DLL file. The fix, until
Microsoft fixes it for real, is to manually copy the files. A catch is
those files are in use, so you'll have to do some DOS prompt type
commands to make it so you can update those files.
Don't worry - I'll walk you through everything.
What you
will need:
Download a copy of the Windows Update 3.0 install package. I found it
at:
http://go.microsoft.com/fwlink/?LinkID=91237
or, I also found a pointer to this download at:
http://support.microsoft.com/kb/932494
That and some bravery to do some command prompts and you'll be all
set!
Fixing
Windows Update!
With the link downloaded, run it but don't go through the install. A
screen will come up that shows what directory the files are expanding
into - note that directory name or at least the first 2-3 characters of
it as you'll see here:
So in this example, which I captured after I'd already done the
procedure, the files were expanded into the directory c:\41a<other stuff
deleted>. We don't care about all that stuff, just enough of it we can
find that directory. When all the files are expanded, you'll see the
next screen about installing the update agent:
DO NOT PRESS NEXT OR CANCEL YET! Just let that window alone. If you
cancel or hit next, your temporary files will be deleted before you can
copy them to someplace else.
Now go to your DOS prompt by hitting Start->Run->CMD.EXE
Go into the directory listed by typing cd \ThoseFirstTwoOrThreeCharacters
and then hitting the <TAB> key to auto-complete the rest of the
directory name. So in the example above, you would type:
cd \41a<TAB><ENTER>
Note: <TAB> represents the tab button, not a less than sign, capital
T, capital A, capital B, greater than sign. Same thing with <ENTER>
You'll now be at a DOS prompt inside the directory with all those
nice files expanded.
Make a directory to save them:
mkdir c:\junk
Then copy the files to that junk directory:
copy *.* c:\junk
If you've already installed this update prior to searching and
finding this article, you can hit the CANCEL button in the Windows
Update Agent Installer window and completely skip the next paragraph.
If you haven't installed the update yet, hit Next and let the update
proceed forward. If Microsoft fixes the problem, you should be able to
go to windowsupdate.microsoft.com and see everything working nicely. If
it doesn't work yet, continue on.
In my case, the directory created with c:\0e6b22a4344a25.... so
you'll see my screen shots reflect that directory tree. Plus I made my
temporary directory C:\temp\wu - it really doesn't matter where you copy
them, as long as it is a place you just created so nothing else is
inside as you'll be wiping that temporary location out at the end of
this.
Stop the auto-update service by typing:
net stop wuauserv
I ran this from the windows\system32 directory, but you can run it
from anywhere.
Here are fragments of the two directories, side by side. On the left
are the good files as they come from Microsoft. On the right are the
files as installed in the c:\windows\system32 directory. I highlighted
the two files that weren't updated by the installer with red arrows.
These have to be copied by hand.
On the left you can see wuauserv.dll is dated 8/6/2009 and has a size
of 22,744 - on the right it is older, 4/14/2008 and only 6,656 bytes.
Similar item with wuweb.dll - new on the left, old on the right. Both
these files need to be copied from your temporary directory to
c:\windows\system32
Since you are inside your temporary directory, you can type the first
line and copy wuweb.dll:
copy wuweb.dll c:\windows\system32
If you get an error saying the file is in use, close all your
Internet Explorer windows. The Windows Update website likely has one of
those DLL files open.
You can see I had that error with wuauserv.dll - so for that, I had
to rename the file first, then I could copy it. So type:
rename c:\windows\system32\wuauserv.dll wuauserv.dll.old
copy wuauserv.dll c:\windows\system32
Right after that, without even a reboot, I was able to go to Windows
Update and it worked!
The system did a full suite of updates, updated its updating engine,
and is running fine.
When you are done, you can delete that temporary directory you saved
all the files into.
For Server
2003 installations:
Following the similar procedure above, I had to copy wups.dll, wups2.dll,
wuauserv.dll, and wuweb.dll from the temp directory into the
c:\windows\system32 directory. This
was on a fresh installation off a Windows Server 2003 R2 install disk. Even
though I'd stopped bits and wuauserv services, I still had to rename
wuauserv.dll to .old in order to make the copy work.
I didn't look for a different update installer package for Server 2003, but
used the same update installer as I did on the Windows XP SP3 system.
Another Server
2003 Looping Failure:
In this example, I came across a Server 2003 that was looping on itself when
the user went to the windows udpate web site. The two screens looked like this:
Followed by:
In this case, looking over the WindowsUpdate.log file revealed a huge
clue - here is a snip from that magical file followed by the actual text
that is important:
FATAL: Update required for
C:\WINDOWS\system32\wuweb.dll: target version = 7.2.6001.788,
required version = 7.6.7600.256
So the update is looping for a similar reason, this is because of a
version mismatch between a file required for Windows Update to function
properly. How it got messed up is anybody's guess - searching around, I
found 3 different versions, and the one up in the dllcache directory was
the correct version. This screen shows me searching around, followed by
the properties on the version in the dllcache directory:
Seeing this, finding the new version, I had to copy it into the
c:\windows\system32 directory
from the dllcache directory. At first, it wouldn't copy - it turns out
the file was still in use. You can see my progression here, first the
file won't copy, then I run process explorer to see who has the file
open, I found an Internet Explorer instance without any GUI windows
still running the DLL, killed that process, then retried the copy and
the file now copied over:
And just like that, Windows Updates start working again:
Conclusion
Next time, I'm going to try the "new" fix-it tool first. Who knows,
maybe it actually works 100% of the time now! That would be way nicer
than the manual (ugh) installation I had to go through. Interestingly
enough, the fix-it tool is what left the older DLL that prevented
Windows Update from running via the GUI. So Fix-It still isn't fixing it
all.
------
If you found this helpful (or not),
please send me a brief email -- one line will more than do. If I see people
need, want, and / or use this kind of information that will encourage me to keep
creating this kind of content. Whereas if I never hear from anyone, then why
bother?
I can be reached at:
das (at-sign) dascomputerconsultants (dot) com
Enjoy!
David Soussan
(C) 2011, 2013, 2014 DAS Computer Consultants,
LTD. All Rights Reserved.
Everything below this line is to help
search engines with finding this content - some of these are right out of my
WindowsUpdate.log file which are likely things that more advanced users might
search for. Seriously, there is no reason you need to be reading all this gunk!
Help error message 0x80190194 windows update server 2003!
Windows update failed with 0x80190194
2014-12-05 09:58:15:365 884 5b24 DnldMgr Regulation server path:
https://www.update.microsoft.com/v6/UpdateRegulationService/UpdateRegulation.asmx.
2014-12-05 09:58:15:709 884 5b24 DnldMgr * Regulation call complete.
0x00000000 2014-12-05 09:58:15:740 884 5b24 DnldMgr ***********
DnldMgr: New download job [UpdateId =
{66898F85-E7D5-41EF-B88A-84733092C62C}.205] *********** 2014-12-05
09:58:15:740 884 5b24 DnldMgr * Queueing update for download handler
request generation. 2014-12-05 09:58:15:740 884 5b24 DnldMgr
Generating download request for update
{66898F85-E7D5-41EF-B88A-84733092C62C}.205 2014-12-05 09:58:15:740
884 5b24 Misc FATAL: Failed to delete file
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b\update\update.url
(hr = 80070005) after 0 retries 2014-12-05 09:58:16:021 884 5b24
Handler Windows Patch download for UpdateId =
{66898F85-E7D5-41EF-B88A-84733092C62C}: selected action is download
express (delta). 2014-12-05 09:58:16:209 884 5b24 Handler Updateci:
CreateFileForWrite(
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b\update\update.url
): CreateFile failed (5) 2014-12-05 09:58:16:209 884 5b24 Handler
Updateci: ExpandCabinetToDirectory(
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b\windowsserver2003-kb3011780-x86-express-enu.exe,a000
): failed (5) 2014-12-05 09:58:16:209 884 5b24 Handler Updateci:
WinSEUpdateHandler::_UnpackCab: Failed extracting
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b\windowsserver2003-kb3011780-x86-express-enu.exe
to
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b
(5, 0x5) 2014-12-05 09:58:16:209 884 5b24 Handler Updateci:
WinSEUpdateHandler::_Unpack:
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b\windowsserver2003-kb3011780-x86-express-enu.exe
failed (5) 2014-12-05 09:58:16:209 884 5b24 Handler FATAL: UH:
0x80070005: Unpack failed in
CUHWindowsPatchHandler::ValidateAndUnpackPackage 2014-12-05
09:58:16:209 884 5b24 Handler FATAL: UH: 0x80070005:
ValidateAndUnpackPackage failed in
CUHWindowsPatchHandler::GetRequiredFilesForSandboxState 2014-12-05
09:58:16:209 884 5b24 Handler FATAL: UH: 0x80070005:
GetRequiredFilesForSandboxState failed in
CUHWindowsPatchHandler::GenerateDownloadRequest 2014-12-05
09:58:16:209 884 5b24 DnldMgr FATAL:
DM:CAgentDownloadManager::GenerateAllDownloadRequests:
GenerateDownloadRequest failed with 0x80070005. 2014-12-05
09:58:16:209 884 5b24 DnldMgr Error 0x80070005 occurred while
downloading update; notifying dependent calls. 2014-12-05
09:58:16:224 884 5b24 Misc FATAL: Failed to delete file
C:\WINDOWS\SoftwareDistribution\Download\30315f8a55ccb16d15cc91b705df503b\update\update.url
(hr = 80070005) after 0 retries 2014-12-05 09:58:16:224 884 5b24
Agent ********* 2014-12-05 09:58:16:224 884 5b24 Agent ** END **
Agent: Downloading updates [CallerId = AutomaticUpdates] 2014-12-05
09:58:16:224 884 5b24 Agent ************* 2014-12-05 09:58:16:224 884
5f0c AU >>## RESUMED ## AU: Download update [UpdateId =
{45B5C5A8-D042-48CC-8838-AFB6B32A6952}] 2014-12-05 09:58:16:224 884
5f0c AU # WARNING: Download failed, error = 0x80070005
2014-12-17 16:51:12:715 884 75d8 AU Featured notifications is disabled.
2014-12-17 16:51:12:715 884 9414 Report REPORT EVENT:
{FBAAB773-75FA-4950-B46C-FCC2CA4A55C7} 2014-12-17 16:51:06:137-0500 1
182 101 {B01F648F-99E2-4CD5-948B-195FF76418D3} 201 80070002
MicrosoftUpdate Failure Content Install Installation Failure: Windows
failed to install the following update with error 0x80070002: Security
Update for Windows Server 2003 (KB3013126). 2014-12-17 16:51:12:715
884 9414 Report REPORT EVENT: {C2F76B97-731A-4ED9-A503-D8EB3D956CA4}
2014-12-17 16:51:06:668-0500 1 182 101
{E2D027AE-6FE2-48FE-AC56-A7927D2A27E3} 201 80070002 MicrosoftUpdate
Failure Content Install Installation Failure: Windows failed to install
the following update with error 0x80070002: Security Update for Internet
Explorer 8 for Windows Server 2003 (KB3012176). 2014-12-17
16:51:12:715 884 9414 Report REPORT EVENT:
{64DDD9E6-7838-4F4D-8CFD-009EC4059F0F} 2014-12-17 16:51:06:981-0500 1
182 101 {26662B73-1D69-4956-B3D3-CF97ADFFFD3B} 204 80070002
MicrosoftUpdate Failure Content Install Installation Failure: Windows
failed to install the following update with error 0x80070002: Cumulative
Security Update for Internet Explorer 8 for Windows Server 2003
(KB3008923). 2014-12-17 16:54:28:309 28732 9310 CltUI AU client got
new directive = 'None', serviceId =
{00000000-0000-0000-0000-000000000000}, return = 0x80010108
2014-12-17 16:54:28:309 28732 9310 CltUI FATAL: Failed to show client
UI, directive=7, hr=80010108 2014-12-17 16:54:28:309 884 68a8 AU
########### AU: Uninitializing Automatic Updates ###########
|