Technical Level: Intermediate
Summary
Windows update is an Important component of Windows. By Windows updates one can get
- new drivers for the hardware devices installed in the computer
- security patches
- Known bugs fixed
- Major updates and upgrades.
But some issues, generally related directly or indirectly to some corruption in system files, windows update may not work properly. This article discusses resetting
the Windows update completely using a reset script.
Details
- Removes the older Windows update Folders, where the updates are downloaded. Newer ones are created automatically.
- Re-registers the Windows update Files.
- Resets your network connection.
Instructions for usage:
- Download the Script into your computer.
- At the location where it is saved, Right click and select Extract.

- After the extract is complete, you will see a WuReset.bat named File in the new windows that opens.
- Right click WuReset.bat named file and select Run as administrator.

- Wait for the “Task completed successfully” message in the command Prompt Window.
- Restart your computer and check for the updates again.
Download Windows update reset script for computers running Windows 10
For users running Windows 7,8.0 or 8.1:
Download Windows update Reset script for Windows 7 and 8
In any case, if you cannot download/run the script, copy the following code in notepad and save it by "WUReset.bat" (with quotes) and then run it subsequently:
@echo off echo .
echo Simple script to reset windows update-Credits to shawn Brink for the commands
echo .
echo PAUSE 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 Failed to reset Windows Update due to bits service failing to stop. 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 Failed to reset Windows Update due to wuauserv service failing to stop. 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 Failed to reset Windows Update due to appidsvc service failing to stop. 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 Failed to reset Windows Update due to cryptsvc service failing to stop. 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" cd /d %windir%\system32 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 ) if exist "%SYSTEMROOT%\WindowsUpdate.log.bak" del /s /q /f "%SYSTEMROOT%\WindowsUpdate.log.bak" if exist "%SYSTEMROOT%\WindowsUpdate.log" ( attrib -r -s -h /s /d "%SYSTEMROOT%\WindowsUpdate.log" ren "%SYSTEMROOT%\WindowsUpdate.log" WindowsUpdate.log.bak ) 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) 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 /s wudriver.dll netsh winsock reset netsh winsock reset proxy :Start net start bits net start wuauserv net start appidsvc net start cryptsvc
echo Task completed succesfully!Please restart your computer and check for the updates again.
Is this Script Safe?
Yes, the script is absolutely safe to use. The code is created with the help of Shawn Brink, who is an MVP of Microsoft. You can look into the source by right-clicking the bat file and selecting edit.
Special thanks to Askvg and Tenforums and Denis for the help
Also Read: