I have been following this thread since the beginning, failing to update over and over again using the various commands provided by everybody here. The cleanup commands gave me errors. I tried using the MS repair tool to fix the windows update, to no avail
either.
Finally, I decided to contact the Windows tech support through chat and let them deal with it for a bit...
Well what do you know, they totally fixed it, in just a few minutes, using this script, which is a more powerful version of the windows update reset tool. Didn't even have to reboot in between, nothing, it just installed normally after this script, through
the regular windows update, not even using the standalone installer.
If like me nothing worked, give this a try!
(Just paste this in a *.bat file and run it as admin)
====== BEGINNING OF SCRIPT =========
@ECHO OFF
CD %windir%\system32
ECHO Stopping Services
net stop bits
net stop wuauserv
net stop cryptsvc
ECHO Delete Downloaded Updates
DEL "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
ECHO Clear Update Cache
REN %systemroot%\SoftwareDistribution SoftwareDistribution.old
REN %systemroot%\system32\catroot2 catroot2.old
MKDIR %systemroot%\system32\catroot2
ECHO Reset BITS
sc config BITS binPath= "C:\Windows\System32\svchost.exe -k netsvcs" DisplayName= "Background Intelligent Transfer Service" depend= Rpcss/EventSystem start= auto obj= "LocalSystem" password= ""
sc description BITS "Transfers files in the background using idle network bandwidth. If the service is disabled, then any applications that depend on BITS, such as Windows Update or MSN Explorer, will be unable to automatically download programs and other information."
sc privs BITS SeCreateGlobalPrivilege/SeImpersonatePrivilege/SeTcbPrivilege/SeAssignPrimaryTokenPrivilege/SeIncreaseQuotaPrivilege
sc sdset BITS D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
sc sidtype BITS UNRESTRICTED
ECHO Reset Windows Update
sc config wuauserv binPath= "C:\Windows\System32\svchost.exe -k netsvcs" DisplayName= "Windows Update" depend= Rpcss start= auto obj= "LocalSystem" password= ""
sc privs wuauserv SeAuditPrivilege/SeCreateGlobalPrivilege/SeCreatePageFilePrivilege/SeTcbPrivilege/SeAssignPrimaryTokenPrivilege/SeImpersonatePrivilege/SeIncreaseQuotaPrivilege/SeShutdownPrivilege
sc sdset wuauserv D:(A;;CCLCSWRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOSDRCWDWO;;;WD)
sc sidtype wuauserv UNRESTRICTED
ECHO Reset Cryptographic Services
sc config CryptSvc binPath= "C:\Windows\system32\svchost.exe -k NetworkService" DisplayName= "Cryptographic Services" depend= Rpcss start= auto obj= "NT Authority\NetworkService" password= ""
sc privs CryptSvc SeChangeNotifyPrivilege/SeCreateGlobalPrivilege/SeImpersonatePrivilege
sc sdset CryptSvc D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
sc sidtype CryptSvc UNRESTRICTED
ECHO Reset WMI Repository
net stop winmgmt
REN %systemroot%\system32\wbem\Repository Repository.old
ECHO Register Components
REGSVR32.EXE /u /s /i atl.dll
REGSVR32.EXE /u /s /i urlmon.dll
REGSVR32.EXE /u /s /i mshtml.dll
REGSVR32.EXE /u /s /i shdocvw.dll
REGSVR32.EXE /u /s /i browseui.dll
REGSVR32.EXE /u /s /i jscript.dll
REGSVR32.EXE /u /s /i vbscript.dll
REGSVR32.EXE /u /s /i scrrun.dll
REGSVR32.EXE /u /s /i msxml.dll
REGSVR32.EXE /u /s /i msxml6.dll
REGSVR32.EXE /u /s /i msxml3.dll
REGSVR32.EXE /u /s /i actxprxy.dll
REGSVR32.EXE /u /s /i softpub.dll
REGSVR32.EXE /u /s /i wintrust.dll
REGSVR32.EXE /u /s /i dssenh.dll
REGSVR32.EXE /u /s /i gpkcsp.dll
REGSVR32.EXE /u /s /i rsaenh.dll
REGSVR32.EXE /u /s /i sccbase.dll
REGSVR32.EXE /u /s /i slbcsp.dll
REGSVR32.EXE /u /s /i cryptdlg.dll
REGSVR32.EXE /u /s /i oleaut32.dll
REGSVR32.EXE /u /s /i ole32.dll
REGSVR32.EXE /u /s /i shell32.dll
REGSVR32.EXE /u /s /i initpki.dll
REGSVR32.EXE /u /s /i wuapi.dll
REGSVR32.EXE /u /s /i wuaueng.dll
REGSVR32.EXE /u /s /i wuaueng1.dll
REGSVR32.EXE /u /s /i wucltui.dll
REGSVR32.EXE /u /s /i wups.dll
REGSVR32.EXE /u /s /i wups2.dll
REGSVR32.EXE /u /s /i wuweb.dll
REGSVR32.EXE /u /s /i qmgr.dll
REGSVR32.EXE /u /s /i qmgrprxy.dll
REGSVR32.EXE /u /s /i wucltux.dll
REGSVR32.EXE /u /s /i muweb.dll
REGSVR32.EXE /u /s /i wuwebv.dll
BitsAdmin /RESET /allusers
ECHO Start Services
net start wuauserv
net start cryptsvc
net start bits
MSIEXEC /unregister
MSIEXEC /regserver
REGSVR32 /u /s /i MSI.dll
ECHO Finishing Up
@ECHO OFF
CD %windir%\system32
ECHO Stopping Services
net stop bits
net stop wuauserv
net stop cryptsvc
ECHO Delete Downloaded Updates
DEL "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
ECHO Clear Update Cache
REN %systemroot%\SoftwareDistribution SoftwareDistribution.old
REN %systemroot%\system32\catroot2 catroot2.old
MKDIR %systemroot%\system32\catroot2
ECHO Reset BITS
sc config BITS binPath= "C:\Windows\System32\svchost.exe -k netsvcs" DisplayName= "Background Intelligent Transfer Service" depend= Rpcss/EventSystem start= auto obj= "LocalSystem" password= ""
sc description BITS "Transfers files in the background using idle network bandwidth. If the service is disabled, then any applications that depend on BITS, such as Windows Update or MSN Explorer, will be unable to automatically download programs and other information."
sc privs BITS SeCreateGlobalPrivilege/SeImpersonatePrivilege/SeTcbPrivilege/SeAssignPrimaryTokenPrivilege/SeIncreaseQuotaPrivilege
sc sdset BITS D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
sc sidtype BITS UNRESTRICTED
ECHO Reset Windows Update
sc config wuauserv binPath= "C:\Windows\System32\svchost.exe -k netsvcs" DisplayName= "Windows Update" depend= Rpcss start= auto obj= "LocalSystem" password= ""
sc privs wuauserv SeAuditPrivilege/SeCreateGlobalPrivilege/SeCreatePageFilePrivilege/SeTcbPrivilege/SeAssignPrimaryTokenPrivilege/SeImpersonatePrivilege/SeIncreaseQuotaPrivilege/SeShutdownPrivilege
sc sdset wuauserv D:(A;;CCLCSWRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOSDRCWDWO;;;WD)
sc sidtype wuauserv UNRESTRICTED
ECHO Reset Cryptographic Services
sc config CryptSvc binPath= "C:\Windows\system32\svchost.exe -k NetworkService" DisplayName= "Cryptographic Services" depend= Rpcss start= auto obj= "NT Authority\NetworkService" password= ""
sc privs CryptSvc SeChangeNotifyPrivilege/SeCreateGlobalPrivilege/SeImpersonatePrivilege
sc sdset CryptSvc D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
sc sidtype CryptSvc UNRESTRICTED
ECHO Reset WMI Repository
net stop winmgmt
REN %systemroot%\system32\wbem\Repository Repository.old
ECHO Register Components
REGSVR32.EXE /u /s /i atl.dll
REGSVR32.EXE /u /s /i urlmon.dll
REGSVR32.EXE /u /s /i mshtml.dll
REGSVR32.EXE /u /s /i shdocvw.dll
REGSVR32.EXE /u /s /i browseui.dll
REGSVR32.EXE /u /s /i jscript.dll
REGSVR32.EXE /u /s /i vbscript.dll
REGSVR32.EXE /u /s /i scrrun.dll
REGSVR32.EXE /u /s /i msxml.dll
REGSVR32.EXE /u /s /i msxml6.dll
REGSVR32.EXE /u /s /i msxml3.dll
REGSVR32.EXE /u /s /i actxprxy.dll
REGSVR32.EXE /u /s /i softpub.dll
REGSVR32.EXE /u /s /i wintrust.dll
REGSVR32.EXE /u /s /i dssenh.dll
REGSVR32.EXE /u /s /i gpkcsp.dll
REGSVR32.EXE /u /s /i rsaenh.dll
REGSVR32.EXE /u /s /i sccbase.dll
REGSVR32.EXE /u /s /i slbcsp.dll
REGSVR32.EXE /u /s /i cryptdlg.dll
REGSVR32.EXE /u /s /i oleaut32.dll
REGSVR32.EXE /u /s /i ole32.dll
REGSVR32.EXE /u /s /i shell32.dll
REGSVR32.EXE /u /s /i initpki.dll
REGSVR32.EXE /u /s /i wuapi.dll
REGSVR32.EXE /u /s /i wuaueng.dll
REGSVR32.EXE /u /s /i wuaueng1.dll
REGSVR32.EXE /u /s /i wucltui.dll
REGSVR32.EXE /u /s /i wups.dll
REGSVR32.EXE /u /s /i wups2.dll
REGSVR32.EXE /u /s /i wuweb.dll
REGSVR32.EXE /u /s /i qmgr.dll
REGSVR32.EXE /u /s /i qmgrprxy.dll
REGSVR32.EXE /u /s /i wucltux.dll
REGSVR32.EXE /u /s /i muweb.dll
REGSVR32.EXE /u /s /i wuwebv.dll
BitsAdmin /RESET /allusers
ECHO Start Services
net start wuauserv
net start cryptsvc
net start bits
MSIEXEC /unregister
MSIEXEC /regserver
REGSVR32 /u /s /i MSI.dll
ECHO Finishing Up
====== END OF SCRIPT ==============