Hi mrfixit,
Step 1) - Windows XP Only...
There are many applications that ship with MSXML 3.0. Uninstalling any one
of those applications on a Windows XP system could potentially unregister
the MSXML 3.0 assembly files (msxml3.dll and msxml3r.dll).
We should only have to register just the one file...
To Do This:
Click Start menu, and then click the Run icon.
In the small box that Opens, type the three letters: cmd then click the OK
button.
In the command prompt window that just opened (a black background and white
text), type the following commands, pressing the ENTER key on your keyboard
afterwards:
regsvr32 msxml3.dll
Now type the word: exit and the window will close.
Now Reboot and try and Microsoft Windows Update again....
If it fails with the 0x8007007E error again try Step 2
Step 2) - Windows XP Only...
Now lets update your system with the latest Microsoft XML Parser (MSXML)
version 3.0 SP4
Download Here (use the msxml3usa.msi for the English language version.)
Notes....
a) You will need to reinstall MSXML 3.0 SP4 if you upgraded to Windows XP
from a computer running one of the following operating systems:
· Windows 98
· Windows ME
· Windows NT 4.0
b) Windows 2003 server ships with version 3.0 - SP4 and so you do not need
to install it.
c) Occasionally, setup may need to reboot the computer but fails to inform
the user. Therefore reboot your machine just in case. Then try Windows
Update again...
d) To install a localized (e.g. English) version of MSXML 3.0 SP4 on a
system different from the previously installed version/locale (e.g. French)
of MSXML 3.0 SP4, complete the following steps:
Unregister the existing installation package by executing the following
command in a Command Prompt window:
msiexec /qn /x {45534579-B75B-4A42-953B-2EF8E1DEB4F3}
Now install the new localized version of MSXML 3.0 SP4.
If it fails with the 0x8007007E error again try Step 3
Step 3) - Windows XP Only...
Scan For Missing/Corrupt System Files...
Windows XP comes with a wonderful tool called System File Checker (SFC) It
scans and verifies the versions of all protected system files after you
restart your computer... However it can sometimes miss a problem, so we can
run the tool now to replace CABINET.DLL and URLMON.DLL if there is a problem
with them:
To Do This:
Click Start menu, and then click the Run icon.
In the small box that Opens, type the three letters: cmd then click the OK
button.
In the command prompt window that just opened (a black background and white
text), type the following command:
SFC /scannow
and then click OK
You must be logged on as a member of the Administrators group to run SFC..
You will need your Windows XP CD during this procedure if SFC needs to get
an original file. Please remember that Windows XP can have multiple
instances of a .DLL file and remember which version is for which program.
Notes....
I have been asked if it is possible to have a "progress meter" show when SFC
runs... This is the registry hack you need. PLEASE do not go messing with
your registry if you do NOT know what you are doing!
System Key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon]
Value Name: SFCShowProgress
Data Type: REG_DWORD (DWORD Value)
Value Data: (0 = disabled, 1 = enabled)
IMPORTANT: This article will cure the 0x8007007E problem for many of you.
However if it does NOT then I would love to here from you. Or, did YOU try
something else that worked? Then email me the fix too!
You may also find these error codes useful - for future reference,
especially when trying to figure out error messages in the Windows Update
log! (They are only given here as a guide to general problems and will
require further research on your part to resolve the particular problem you
may be having.)