Fixdows: Many of you have experienced problems at some point while trying to update Windows. These problems can be due to various reasons.
Fixdows is an open source utility that helps you fix Windows Update, Microsoft Store, and more errors.
There are dozens of programs that claim to fix these problems but in the process turn out to be asking for money, adding adware or at worst, a malicious program.
To fix your computer, you need to address the issues one step at a time. In case of software related issues, you should run some commands at the command prompt, such as sfc / scannow, before trying more advanced things like Safe Mode.
If the above seems easy to you, it may frighten many who do not have the knowledge or experience.
Fixdows can help them for free because it is open source. The UI of the application is minimal, without icons, but with several tabs. The 2nd tab, Windows Update Fixes. has a large button. Clicking on it restores Windows Update components and restarts related services.
Its use is safe and the script is available below (TenForums). It's essentially a quick way to restore Windows Update services and components by running some special commands.
Fixdows requires administrator privileges to run, which is to be expected as most of the running commands require increased permissions.
Note: the portable version is clean (bat). I would not worry too much about it, since you can see all the steps running (in the command prompt window).
Download the utility
https://github.com/Odyssey346/Fixdows
Script
@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 / ab =% 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 / aw =% 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. echo. pause goto Start: loop4 set c = 0: cryptsvc set / ac =% 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.