If you’re having issues with Windows Update, follow the steps in this tutorial to reset the update components and resolve any issues on Windows 11.
Windows Update keeps Windows 11 up to date by automatically downloading and installing the most recent Microsoft updates, drivers, and hotfixes.
You may encounter problems with Windows Update, such as inability to download or install updates, error messages, inability to search for new updates, pending update issues, and so on. These problems can occur when the Windows Update database or components are corrupted, one or more Windows Update services are not running, and so on.
These problems are usually resolved by resetting the Windows Update components.
Reset Windows Update if:
- You can’t install Windows Updates.
- You can’t check for new Windows Updates.
- Miscellaneous errors while installing updates.
- Can’t upgrade to new version or build due to Windows Updates.
- Updates are remaining pending.
- Windows Updates stuck.
- Windows Update installation revert itself
How To Reset Windows Update in Windows 11
Step 1. First, download reset Windows Update batch script at here.
(Content of BAT file for reference)
@echo off :: 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 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\DataStore.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution\DataStore.bak" if exist "%SYSTEMROOT%\SoftwareDistribution\DataStore" ( attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution\DataStore" ren "%SYSTEMROOT%\SoftwareDistribution\DataStore" DataStore.bak ) if exist "%SYSTEMROOT%\SoftwareDistribution\Download.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution\Download.bak" if exist "%SYSTEMROOT%\SoftwareDistribution\Download" ( attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution\Download" ren "%SYSTEMROOT%\SoftwareDistribution\Download" Download.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 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 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
Step 2. Right click the .bat file, and select Run as administrator.
Step 3. After Windows Update has been reset, you will be prompted to Please save and close any open windows before restarting the computer, and press any key to continue when ready.
If a service fails to stop after three attempts, the.bat file will automatically end with the message “Failed to reset Windows Update” and prompt you to press a key to continue.
When you press a key, the.bat file will restart any services that it had stopped before closing the command prompt.
Step 4. You will now be prompted to restart the computer by pressing any key.
This will restart the computer immediately. Before proceeding, save and close any open windows.
It is critical to restart the computer immediately after running the.bat file in order for the changes to take effect.
That’s about it.