Fix Windows Update errors with new Windows 10 repair tool
Fix Windows Update errors is a troubleshooting page on Microsoft's Support website that aims to help Windows users resolve update related errors.
This guided walk-through provides steps to fix problems when installing updates. Here are some commonly seen error codes: 0x80073712, 0x800705B4, 0x80004005, 0x8024402F, 0x80070002, 0x80070643, 0x80070003, 0x8024200B, 0x80070422, 0x80070020. These steps should help with all errors and not just the ones listed.
The support page covers Windows 7, Windows 8.1 and Windows 10 only. First thing you do is select one of the listed operating systems on the page.
What happens afterwards depends on that selection.
Fix Windows Update errors
Windows 10 users are asked to download the Windows Update Troubleshooter to their device and run it for instance, while Windows 7 users to run the built-in troubleshooter of the operating system instead before they are offered an updated -- but different -- update troubleshooter for the operating system.
This is not the only difference though. While you get fairly basic suggestions for Windows 7 -- try the troubleshooter, if that does not work, run a system recovery -- suggestions for Windows 10 include two additional steps.
The first asks you to find the most recent update for Windows 10 that is installed on the machine, run a search for it on Microsoft's Update site, and download and run the update again.
The second option, if that did not work either, is to run commands on the command line (with administrative privileges):
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
DISM.exe is the Deployment Imaging and Servicing Management tool which you may use to correct Component Store corruption.
The second command checks core Windows files for corruption, and replaces them if possible with the correct version.
Latestwu.diagcab
The Windows Update troubleshooter for Windows 10 is an improved version of the troubleshooter for previous versions of Windows.
It checks Windows Update and the Background Intelligent Transfer Service (Bits), and also runs Windows Network diagnostics.
I suggest you click on advanced on the first screen that opens and disable the automatic repair option. This gives you full control over the troubleshooting process.
The troubleshooter displays all repair options after a quick scan:
- Repair Windows Update Database corruption.
- Repair Windows update components.
- Fix Windows Firefox blocking connections to Windows Update on the PC.
- Contact a network or system administrator, or ISP, to fix Internet connectivity issues.
- Check whether default Windows Update data locations have changed.
- Fix improperly configured security settings, or missing settings.
- Check for missing or corrupt files.
- Fix service registration is missing or corrupt.
- Fix system date and time aren't correct.
As you can see, the tool checks for a couple of things and may fix most of them when you give the ok (or automatically if you have not changed the option under advanced). (via Deskmodder)
Closing Words
Windows Update troubleshooters may help repair update related issues but these tools have their limits as well. While the new Windows 10 Windows Update troubleshooter checks for additional issues, it is far from complete and may still lead to you having to perform manual repairs or even a system restore.
Now You: What's your experience with these troubleshooters so far?
waste of time … FUCK Microsoft they fix nothing
These commands are from Manual Gil’s (a MSFT employee) tool ResetWuENG.cmd, which is on github:
:: /*************************************************************************************/
:: Run the reset Windows Update components.
:: void components();
:: /*************************************************************************************/
:components
:: —– Stopping the Windows Update services —–
call :print Stopping the Windows Update services.
net stop bits
call :print Stopping the Windows Update services.
net stop wuauserv
call :print Stopping the Windows Update services.
net stop appidsvc
call :print Stopping the Windows Update services.
net stop cryptsvc
call :print Canceling the Windows Update process.
taskkill /im wuauclt.exe /f
:: —– Checking the services status —–
call :print Checking the services status.
sc query bits | findstr /I /C:”STOPPED”
if %errorlevel% NEQ 0 (
echo. Failed to stop the BITS service.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)
call :print Checking the services status.
sc query wuauserv | findstr /I /C:”STOPPED”
if %errorlevel% NEQ 0 (
echo. Failed to stop the Windows Update service.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)
call :print Checking the services status.
sc query appidsvc | findstr /I /C:”STOPPED”
if %errorlevel% NEQ 0 (
sc query appidsvc | findstr /I /C:”OpenService FAILED 1060″
if %errorlevel% NEQ 0 (
echo. Failed to stop the Application Identity service.
echo.
echo.Press any key to continue . . .
pause>nul
if %family% NEQ 6 goto :eof
)
)
call :print Checking the services status.
sc query cryptsvc | findstr /I /C:”STOPPED”
if %errorlevel% NEQ 0 (
echo. Failed to stop the Cryptographic Services service.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)
:: —– Delete the qmgr*.dat files —–
call :print Deleting the qmgr*.dat files.
del /s /q /f “%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat”
del /s /q /f “%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat”
:: —– Renaming the softare distribution folders backup copies —–
call :print Deleting the old software distribution backup copies.
cd /d %SYSTEMROOT%
if exist “%SYSTEMROOT%\winsxs\pending.xml.bak” (
del /s /q /f “%SYSTEMROOT%\winsxs\pending.xml.bak”
)
if exist “%SYSTEMROOT%\SoftwareDistribution.bak” (
rmdir /s /q “%SYSTEMROOT%\SoftwareDistribution.bak”
)
if exist “%SYSTEMROOT%\system32\Catroot2.bak” (
rmdir /s /q “%SYSTEMROOT%\system32\Catroot2.bak”
)
if exist “%SYSTEMROOT%\WindowsUpdate.log.bak” (
del /s /q /f “%SYSTEMROOT%\WindowsUpdate.log.bak”
)
call :print Renaming the software distribution folders.
if exist “%SYSTEMROOT%\winsxs\pending.xml” (
takeown /f “%SYSTEMROOT%\winsxs\pending.xml”
attrib -r -s -h /s /d “%SYSTEMROOT%\winsxs\pending.xml”
ren “%SYSTEMROOT%\winsxs\pending.xml” pending.xml.bak
)
if exist “%SYSTEMROOT%\SoftwareDistribution” (
attrib -r -s -h /s /d “%SYSTEMROOT%\SoftwareDistribution”
ren “%SYSTEMROOT%\SoftwareDistribution” SoftwareDistribution.bak
if exist “%SYSTEMROOT%\SoftwareDistribution” (
echo.
echo. Failed to rename the SoftwareDistribution folder.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)
)
if exist “%SYSTEMROOT%\system32\Catroot2” (
attrib -r -s -h /s /d “%SYSTEMROOT%\system32\Catroot2”
ren “%SYSTEMROOT%\system32\Catroot2” Catroot2.bak
)
if exist “%SYSTEMROOT%\WindowsUpdate.log” (
attrib -r -s -h /s /d “%SYSTEMROOT%\WindowsUpdate.log”
ren “%SYSTEMROOT%\WindowsUpdate.log” WindowsUpdate.log.bak
)
:: —– Reset the BITS service and the Windows Update service to the default security descriptor —–
call :print Reset the BITS service and the Windows Update service to the default security descriptor.
sc.exe sdset wuauserv D:(A;CI;CCLCSWRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOSDRCWDWO;;;WD)
sc.exe sdset bits D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
sc.exe sdset cryptsvc D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SO)(A;;CCLCSWLORC;;;AC)(A;;CCLCSWLORC;;;S-1-15-3-1024-3203351429-2120443784-2872670797-1918958302-2829055647-4275794519-765664414-2751773334)
sc.exe sdset trustedinstaller D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRRC;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
:: —– Reregister the BITS files and the Windows Update files —–
call :print Reregister the BITS files and the Windows Update files.
cd /d %SYSTEMROOT%\system32
regsvr32.exe /s atl.dll
regsvr32.exe /s urlmon.dll
regsvr32.exe /s mshtml.dll
regsvr32.exe /s shdocvw.dll
regsvr32.exe /s browseui.dll
regsvr32.exe /s jscript.dll
regsvr32.exe /s vbscript.dll
regsvr32.exe /s scrrun.dll
regsvr32.exe /s msxml.dll
regsvr32.exe /s msxml3.dll
regsvr32.exe /s msxml6.dll
regsvr32.exe /s actxprxy.dll
regsvr32.exe /s softpub.dll
regsvr32.exe /s wintrust.dll
regsvr32.exe /s dssenh.dll
regsvr32.exe /s rsaenh.dll
regsvr32.exe /s gpkcsp.dll
regsvr32.exe /s sccbase.dll
regsvr32.exe /s slbcsp.dll
regsvr32.exe /s cryptdlg.dll
regsvr32.exe /s oleaut32.dll
regsvr32.exe /s ole32.dll
regsvr32.exe /s shell32.dll
regsvr32.exe /s initpki.dll
regsvr32.exe /s wuapi.dll
regsvr32.exe /s wuaueng.dll
regsvr32.exe /s wuaueng1.dll
regsvr32.exe /s wucltui.dll
regsvr32.exe /s wups.dll
regsvr32.exe /s wups2.dll
regsvr32.exe /s wuweb.dll
regsvr32.exe /s qmgr.dll
regsvr32.exe /s qmgrprxy.dll
regsvr32.exe /s wucltux.dll
regsvr32.exe /s muweb.dll
regsvr32.exe /s wuwebv.dll
:: —– Resetting Winsock —–
call :print Resetting Winsock.
netsh winsock reset
:: —– Resetting WinHTTP Proxy —–
call :print Resetting WinHTTP Proxy.
if %family% EQU 5 (
proxycfg.exe -d
) else (
netsh winhttp reset proxy
)
:: —– Set the startup type as automatic —–
call :print Resetting the services as automatics.
sc.exe config wuauserv start= auto
sc.exe config bits start= delayed-auto
sc.exe config cryptsvc start= auto
sc.exe config TrustedInstaller start= demand
sc.exe config DcomLaunch start= auto
:: —– Starting the Windows Update services —–
call :print Starting the Windows Update services.
net start bits
call :print Starting the Windows Update services.
net start wuauserv
call :print Starting the Windows Update services.
net start appidsvc
call :print Starting the Windows Update services.
net start cryptsvc
call :print Starting the Windows Update services.
net start DcomLaunch
:: —– End process —–
call :print The operation completed successfully.
echo.Press any key to continue . . .
pause>nul
goto :eof
This is the reply I received about my Windows 10 update error.
Windows 10 Insider Preview 10.0.18356.21 (19h1_release) amd64 2019-03 – Error 0x80070005.
They also said if I keep seeing this I should contact support.
I have not seen any problems even though there was an error during the first part of the Windows 10 upgrade. I am still concerned about this situation.
I am not really sure which way to go at this moment.
Any advice you can offer?
Thanks
Mike Davis
I tried running the Windows update fix but it kept say ti was block, i downloaded Cybereason yesterday and wonder if it might be that which is block the update fix from running. Have you any information on it.
I been running this after every hard crash for general check up but would love if it logged stuff since the window dose not always stay up to tell me if it found anything.
(note the 2 command sets listed need to b run in admin mode command prompt or power shell)
@ECHO OFF
TIMEOUT /T 5 /NOBREAK
sfc /scannow
TIMEOUT /T 5 /NOBREAK
DISM /Online /Cleanup-Image /RestoreHealth
pause
===================================================
As for update there this one
cls
echo Simple Script to Reset / Clear Windows Update
echo.
echo.
attrib -h -r -s %windir%\system32\catroot2
attrib -h -r -s %windir%\system32\catroot2\*.*
start /wait net stop wuauserv
start /wait net stop CryptSvc
start /wait net stop BITS
del /q /s /f %windir%\system32\catroot2\*.*
del /q /s /f %windir%\SoftwareDistribution\*.*
del /q /s /f “%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader\*.*”
start /wait net Start BITS
start /wait net start CryptSvc
start /wait net start wuauserv
echo.
echo Task completed successfully…
echo.
PAUSE
===================================================
this might help some, for insider builds
https://www.microsoft.com/en-us/download/details.aspx?id=53942
===================================================
this can help if they did not break power shell.
https://gallery.technet.microsoft.com/scriptcenter/Reset-Windows-Update-Agent-d824badc
===================================================
And no I’ve not had any trouble with win 10 *rolls eyes*
The Windows Update problem resolved itself after a couple of days of nothing. Tried all of the selected fixes but none made any difference, only waiting the couple of days.
Downloaded all of the main updates and included them with the original install disc so I didn’t have to depend on the competency of Microsoft. Can do an install of Windows 7 with the important updates and don’t have to wait.
Upgraded my main system to Linux Mint with Windows 7 in a virtual machine. Updates are easy, no rebooting, no harassment, no telemetry/spyware. Great upgrade.
It would be nice if Microsoft spent some effort actually fixing Windows Update than providing almost-useless tools for their users to use.
Windows Update has NEVER EVER worked properly since the beginning of its existence. And don’t get me started on the .NET updates!
My openSUSE Linux updates several times a day (usually) and the only issue it ever has is occasionally an update repository will time out, which generates an error, and corrects itself as soon as the server load goes back down. Updates take a couple minutes at most and never requires a reboot unless it’s a kernel update – and even then it just tells you to reboot when convenient.
It has never been explained why Windows Update can’t do the same.
Has a “fix [whatever]” tool from MS ever worked for anything?
Heck yes, A microsoft Fixit (the old form of these troubleshooters) got a CD-ROM drive working when nothing I tried worked.
Does not help my Win7 update problem. It runs for hours and nothing happens. I have given up to rely on or trust Microsoft. It is the usual simple brutal american business method if they are holding the better cards. Either we have it our way or you can kiss our hairy behind. I can only hope that some day it will backfire at these, in my opinion, deceptive, dishonest and reckles people at Microsoft who are responsible for this mess. Until then they will be shoveling more and more money into their pockets from the uninformed users who don’t realize and too often don’t care what’s happening to them.
My personal system seldom have problems because I force block Microsoft’s Update servers via firewall and other hacks.
At work, I spend maybe 1/5th to 1/10th of my time troubleshooting Windows updates and sccm issues.
Haha. I was having a similar reaction to this article. I used to love Microsoft, but now I don’t trust them. They even scare me a little. They have become like my government in which I’ve also lost trust: Intrusive, bossy, and they want control over everything I do.
Is latestwu.diagcab or windowsupdatediagnostic.diagcab kind of sort of the same thing?
The former is offered for W10, the other for W7. I have not tried W8, so cannot say which one is offered for that operating system.
Thanks Martin!
Looks like there are links to both here
https://www.deskmodder.de/wiki/index.php/Windows_Update_reparieren_Windows_10#Windows_Update_mit_dem_WindowsUpdateDiagnostic.diagcab_reparieren
Hey,
forget that.
All you have to do I throw away the “SoftwareDistribution folder” in the system folder.
it works
Not always!