Home > Uncategorized > Fixing Windows Update error 800700C1 at Vista

Fixing Windows Update error 800700C1 at Vista

A client (and friend) of mine installed around the start of this August the Service Pack (SP2) for Windows Vista and although it seemed to have installed fine, he realized later on that his laptop wouldn’t install even critical updates anymore (was installing Microsoft Office and some other small updates ok though), with Windows Update returning the error number 0x800700C1 (hex).

Searching on the Internet about this, I found out some people had suggested the following workaround (also suggested by Microsoft, but for the error code 0x80245003):

  1. Open a command prompt, or Start menu’s Run dialog by pressing WinKey+R.
  2. Type net stop wuauserv and then press ENTER key.
  3. Type or copy and paste rmdir /s %windir%\softwaredistribution\wuredir and then press ENTER key.
  4. Type or copy and paste net start wuauserv and then press ENTER key.
  5. Use Windows Update again to install updates.

So I told him to try this workaround but it didn’t work. After some time passed with this issue still bugging him, I decided to use Remote Assistance to help him. Told him to install Windows Live Messenger and enable "Remote Assistance" connections at My Computer’s properties’ "Remoting" tab. I had him use Messenger’s "Request remote assistance" action – I accepted the support request, then pressed the button to take remote control of his machine (which he accepted from the other side) to see what was exactly the problem.

By the way, here are some useful links on Remote Assistance (some of them write about the older Windows Messenger instead of Windows Live Messenger, but it’s pretty similar):

After some research on the Internet, I decided to use Microsoft Windows System File Checker (SFC) tool, entering the following command at the command-line:

sfc /scannow

When it finished running I noticed a message that it had found corrupt system files but couldn’t repair them. So I examined its log file (at %windir%\logs\CBS\CBS.log), where I noted the following entry near the end of the log:

2009-10-15 20:04:08, Info                  CSI    000001d7 [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\System32"\[l:22{11}]"msdelta.dll"; source file in store is also corrupted

There were also similar entries for the files C_10029.NLS, C_10029.NLS and C_28592.NLS, but the msdelta.dll file was very suspicious since it’s a patching compression engine (calculates and compresses only the different bytes between file versions) used by Windows Update (see Delta Compression Application Programming Interfaces for the patching compressor API).

Searching the Internet I found indeed mention of msdelta.dll file corruption affecting Windows Update, but the workaround for Windows XP mentioned there wasn’t straightforward to apply at Windows Vista:

  1. search hard-drive (e.g. using dir msdelta.dll /s 2>nul at the command prompt with 2>nul instructing to not print out any error messages about very long file paths etc.)
  2. find all versions of msdelta.dll file
  3. replace the one in %windir%/System32 with the most recent of the other found ones

This is because at Windows Vista the msdelta.dll file is owned by the TrustedInstaller account. Luckily Microsoft Support had published instructions on how to troubleshoot corrupted system files on Windows Vista or Windows 7. Using their suggestions I opened an elevated command prompt (to bypass User Access Protection – UAC) and issued the following commands:

  1. takeown /f %windir%\system32\msdelta.dll (to take ownership of the file)
  2. icacls %windir%\system32\msdelta.dll /GRANT ADMINISTRATORS:F (to grant administrators full access to the file)
  3. Then copied the newest msdelta.dll from the ones I had found onto %windir%\system32\msdelta.dll one, using the DOS command copy fromfile tofile (could have also used Windows Explorer too that last step)
  4. Opened Windows Update again and all started working fine again!

Needless to say my friend was very relieved, since I had spared him of the trouble to reinstall Windows Vista and all the other applications he was using.

Categories: Uncategorized Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: