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 OFF
echo This script is intended to stop Windows Update being COMPLETELY and UTTERLY rubbish
PAUSE
attrib -h -r -s    %windir%\system32\catroot2
attrib -h -r -s /s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc 
net stop BITS
NET STOP MSISERVER
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 MSISERVER
net Start BITS 
net start CryptSvc 
net start wuauserv
echo. 
echo Windows Update should now work properly. Thanks Microsoft.
PAUSE

(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.