Re: WindowsUpdate Error 80070011 on every update
- From: alantangcs@xxxxxxxxx
- Date: Thu, 21 Jun 2007 23:14:27 -0700
Everyone! I have successfully installed KB931099 with ProgramFiles on
D:.
Please follow these instructions at your own risk. If you aren't
feeling confident, I recommend you back up your system.
Pre-requisites: You need to be an administrator on the machine.
Here's what you do:
- Start Windows Update.
- Click "Check for updates" in the top left corner.
- Click the "View Available Updates" link.
- Select KB931099 ONLY. Deselect any other patches that have been
failing in the past.
- Click Install.
Windows Update now downloads the patch.
- Do ***NOT*** restart the computer. Close Windows Update.
Windows Update also created C:\Windows\WinSXS\Pending.XML which you
now need to modify. To make your life difficult, the SYSTEM account
owns the whole WinSXS folder so not even admin's can modify the files
inside... unless you take ownership of the folder. To do that:
- Open up an explorer window and browse to C:\Windows\WinSXS
- Right-click on "Pending.XML" and select properties.
- In the dialog, click on the "Security" tab
- Click "Advanced" down the bottom
- In the new dialog, select the "Owner" tab. Notice the owner is
SYSTEM.
- Click "Edit".
- In the "Change Owner To" list, select the user account you are
currently using (you must be an admin)
- Click OK. Some warnings might pop up. Just ignore them. Close the
"Advanced Security Settings" dialog.
- Back on the "Pending.XML Properties" dialog, you should now be able
to give yourself full control of the file.
- Click the "Edit" button.
- In the new dialog, click "Add" and enter your user name. Click OK.
- Your user name should now appear in the list. Select it and check
the "Full Control" button.
- Click Ok, and Ok (closing any warning popups).
Now you fully control Pending.XML.
- Open "Pending.XML" in notepad.
Now onto some explanation:
Windows Update downloads the patches into C:\Windows\WinSXS. You will
notice in Pending.XML several "HardLinkFile" tags in the XML file.
The source is "\SystemRoot\WinSxS\..." followed by a long folder name
containing the patch files. Your system root should be "C:\Windows"
but it could be different if you chose to install Windows on another
drive other than C.
If your program files is on a drive other than the system drive, the
HardLinkFile operation fails. The HardLinkFile operation acts like a
fake-copy. It links the destination with the source file without
actually copying the file content. The source and destination must be
on the same partition.
Looking at Pending.XML again:
<HardLinkFile source="\SystemRoot\WinSxS\........."
destination="\??\D:\Program Files\........." ... />
this is bound to fail.
However, fixing this problem is not hard. The HardLink operation will
succeed if the patch files are on the same drive as Program Files.
- Note the long cryptic folder name from the source from after the
WinSxS. On my computer, this is "x86_security-malware-windows-
defender_31bf3856ad364e35_6.0.6000.16420_none_55c0ce805b18c568" but it
might be different on yours.
- You need to locate this physical folder in the WinSxS folder. Once
you find it, copy it to "D:\Temp" (NOTE!!! If your program files is
on another drive, say X:, then this will be X:\Temp for you).
Easy enough? Still have Pending.XML open in notepad? Now you need to
redirect the instructions to use the files on D: rather than C:... but
WAIT! Look at the file closely and you'll notice some other
instructions.
On my computer, I also moved "ProgramData" to D: so one thing I
noticed is there is a HardLinkFile instruction that uses "\??\C:". I
had to replace this with "\??\D:". You will also notice 2 MoveFile
commands for this patch. They both move files from a folder under
SystemRoot to another folder under SystemRoot. This instruction
should work without any modifications so we shouldn't touch them.
- The safest way to do this is to do a Replace (in notepad). Replace
HardLinkFile source="\SystemRoot\WinSxS"
.... with...
HardLinkFile source="\??\D:\Temp"
This ensures the MoveFile lines are not affected.
If you are trying to adapt these instructions for other patches, make
sure you check the file for other oddities.
- Save and close Pending.XML.
- Reboot the machine.
After the machine is booted up, check C:\Windows\WinSxS\POQExec.log
for any errors. If an error occurred, you should also notice the tool
tip window saying "Windows Update Failed" (or something like that).
If that's the case, you either did something wrong, or I left
something out. Either way, you don't have to worry too much as
Windows Update uses a transaction system. If any instruction fails
(even if after an instruction succeeded), none of the changes in the
entire patch take place (so you are free to try again).
Just to make sure, start Windows Update and click "Check for
Updates". If KB931099 no longer appears... congratulations, you have
just worked around one of the most annoying limitations of Windows
Update.
.
- References:
- Re: WindowsUpdate Error 80070011 on every update
- From: sms4001
- Re: WindowsUpdate Error 80070011 on every update
- From: alantangcs
- Re: WindowsUpdate Error 80070011 on every update
- Prev by Date: Re: Norton and vista incompatibilty
- Next by Date: Re: Windows Vista Update Error
- Previous by thread: Re: WindowsUpdate Error 80070011 on every update
- Next by thread: Re: Windows Update under Vista hangs when downloading updates
- Index(es):