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.