Cannot synchronize WSUS - Synchronization stays at 0%

Here's an interesting issue recently discovered by Joe Tindale, one of our top WSUS Support Escalation Engineers out in North Carolina:

========

Issue: When trying to synchronize a WSUS 3.0 SP1 computer, it may not sync and progress may remain at 0%. When this occurs you may not see any obvious errors and the sync may never completely fail.

Cause: This can occur if the server in question has an incorrect version of Microsoft.updateservices.bits.dll.

Resolution: The easiest way to resolve this issue is to replace Microsoft.updateservices.bits.dll with the correct Service Pack 1 version from another Windows Server Update Services (WSUS) computer that has SP1 installed.  Once you replace the file, simply restart the IIS services and you should be good to go.  If all else fails you should also be able to just reinstall WSUS 3.0 SP1.

More Information: When originally troubleshooting this issue we looked in the softwaredistribution.log and saw errors about not being able to load a .NET assembly for BITS:

Could not load file or assembly 'Microsoft.Windows.BITS, Version=3.1.6001.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)

We checked the BITS assembly in C:program filesupdate servicesservicebinMicrosoft.updateservices.bits.dll and found that the file version was 6.6.4000.374, indicating it was a WSUS3 RTM file, not the Service Pack 1 version we needed.

========

Thanks Joe!

J.C. Hornbeck | Manageability Knowledge Engineer