Monday, September 23, 2024

How to Fix "There were some problems installing updates, but we'll try again later" (0x80070643) Error

How to Fix "There were some problems installing updates, but we'll try again later" (0x80070643) Error



Code down below:

@echo off


:: Created by: Shawn Brink

:: Created on: October 1, 2015

:: Updated on: March 8, 2021

:: Tutorial: https://www.tenforums.com/tutorials/24742-reset-windows-update-windows-10-a.html



:: Prompt to Run as administrator

Set "Variable=0" & if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"

fsutil dirty query %systemdrive%  >nul 2>&1 && goto :(Privileges_got)

If "%1"=="%Variable%" (echo. &echo. Please right-click on the file and select &echo. "Run as administrator". &echo. Press any key to exit. &pause>nul 2>&1& exit)

cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "%~0", "%Variable%", "", "runas", 1 > "%temp%\getadmin.vbs"&cscript //nologo "%temp%\getadmin.vbs" & exit

:(Privileges_got)


:: Checking and Stopping the Windows Update services

set b=0


:bits

set /a b=%b%+1

if %b% equ 3 (

   goto end1

net stop bits

echo Checking the bits service status.

sc query bits | findstr /I /C:"STOPPED" 

if not %errorlevel%==0 ( 

    goto bits 

goto loop2


:end1

cls

echo.

echo Cannot reset Windows Update since "Background Intelligent Transfer Service" (bits) service failed to stop. Please restart the computer, and try again.

echo.

pause

goto Start



:loop2

set w=0


:wuauserv

set /a w=%w%+1

if %w% equ 3 (

   goto end2

net stop wuauserv

echo Checking the wuauserv service status.

sc query wuauserv | findstr /I /C:"STOPPED" 

if not %errorlevel%==0 ( 

    goto wuauserv 

goto loop3


:end2

cls

echo.

echo Cannot reset Windows Update since "Windows Update" (wuauserv) service failed to stop. Please restart the computer, and try again.

echo.

pause

goto Start




:loop3

set app=0


:appidsvc

set /a app=%app%+1

if %app% equ 3 (

   goto end3

net stop appidsvc

echo Checking the appidsvc service status.

sc query appidsvc | findstr /I /C:"STOPPED" 

if not %errorlevel%==0 ( 

    goto appidsvc 

goto loop4


:end3

cls

echo.

echo Cannot reset Windows Update since "Application Identity" (appidsvc) service failed to stop. Please restart the computer, and try again.v

echo.

pause

goto Start



:loop4

set c=0


:cryptsvc

set /a c=%c%+1

if %c% equ 3 (

   goto end4

net stop cryptsvc

echo Checking the cryptsvc service status.

sc query cryptsvc | findstr /I /C:"STOPPED" 

if not %errorlevel%==0 ( 

    goto cryptsvc 

goto Reset


:end4

cls

echo.

echo Cannot reset Windows Update since "Cryptographic Services" (cryptsvc) service failed to stop. Please restart the computer, and try again.

echo.

pause

goto Start



:Reset

Ipconfig /flushdns

del /s /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" 

del /s /q /f "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat"

del /s /q /f "%SYSTEMROOT%\Logs\WindowsUpdate\*"



if exist "%SYSTEMROOT%\winsxs\pending.xml.bak" del /s /q /f "%SYSTEMROOT%\winsxs\pending.xml.bak" 

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.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution.bak"

if exist "%SYSTEMROOT%\SoftwareDistribution" ( 

    attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution" 

    ren "%SYSTEMROOT%\SoftwareDistribution" SoftwareDistribution.bak 

 

if exist "%SYSTEMROOT%\system32\Catroot2.bak" rmdir /s /q "%SYSTEMROOT%\system32\Catroot2.bak" 

if exist "%SYSTEMROOT%\system32\Catroot2" ( 

    attrib -r -s -h /s /d "%SYSTEMROOT%\system32\Catroot2" 

    ren "%SYSTEMROOT%\system32\Catroot2" Catroot2.bak 

  


:: Reset Windows Update policies

reg delete "HKCU\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f

reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /f

reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f

reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /f

gpupdate /force



:: Reset the BITS service and the Windows Update service to the default security descriptor

sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)


sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)


:: Reregister the BITS files and the Windows Update files

cd /d %windir%\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

regsvr32.exe /s wudriver.dll

netsh winsock reset

netsh winsock reset proxy


:: Set the startup type as automatic

sc config wuauserv start= auto

sc config bits start= auto 

sc config DcomLaunch start= auto 


:Start

net start bits

net start wuauserv

net start appidsvc

net start cryptsvc


:: Restart computer

cls

echo It is required to restart the computer to finish resetting Windows Update.

echo.

echo Please save and close anything open now, before the computer is restarted.

echo.

pause

echo.

echo.

echo.

echo *** Restart computer now. ***

echo.

pause

shutdown /r /f /t 0