Fix for windows update issues, e.g. KB3213986

Many people are experiencing issues installing the cumulative update KB3213986 

And there are a lot of pages on this suggesting the usual stop/rename/start stuff, but that did not do the trick on a machine I had to fiddle with.

The answer was .NET – again !!!

I guess most technicians have seen/used a script similar to this one to generally fix WU when it have fucked itself up. (run as admin)

echo This script is intended to stop Windows Update being COMPLETELY and UTTERLY rubbish
attrib -h -r -s    %windir%\system32\catroot2
attrib -h -r -s /s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc 
net stop BITS
rd /s/q %windir%\system32\catroot2.~old\
ren     %windir%\system32\catroot2 catroot2.~old
rd /s/q %windir%\SoftwareDistribution.~old\
ren     %windir%\SoftwareDistribution SoftwareDistribution.~old
rd /s/q "%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader.~old"
ren     "%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader" downloader.~old 
net Start BITS 
net start CryptSvc 
net start wuauserv
echo Windows Update should now work properly. Thanks Microsoft.

(I have added a few RDs to this as it is more than likely it is not a one time thing, so you need to kill the old back up folders from last error…)

But this did not do the trick on this particular machine.

Typically KB3213986 after a long time ends with a 0x80073712, that do not make us much wiser. Fetching the update from the catalogue server does the same, except you won’t even get an error code….

I then got an idea, based on a fix for problems updating Windows Defender I have seen on another machine last fall.

Here the trick was to do a (superfluous) repair on some of the installed .net packages(!) without boot, and then do the install.

But the machine in question did not have any of these.

So under windows components, I (optimistically) ticked “ASP.NET 4.6“, and tried again, without boot, and TADA it worked!

After about an hour or so it came through…

I do not know WHY this works, but my GUESS is that the update assume it can use and/or update some .NET stuff, that might not be available or might be in use.