Error 0x8024a223 appears before Windows 10 owners when they try to update their system. As a rule, this error is most often encountered by users with build 1809, however, it can also be seen on other versions of the OS.
Causes of Error 0x8024a223
- Incorrectly working components of the Update Center (WU).
- Interference in the process of updating third-party antiviruses.
Methods for solving error 0x8024a223
Method # 1 Built-in troubleshooter
The built-in troubleshooter can be extremely helpful in such cases. It will determine what exactly the problem is and then try to fix it. To run the troubleshooter, do the following:
- press Win + I;
- open “Update and Security”;
- go to “Troubleshooting”;
- select Update Center and click “Run the troubleshooter”;
- follow the further instructions on the screen.
Method # 2 Disable third-party antivirus
Do you have a third-party antivirus installed? Then we strongly recommend deactivating its active protection. Some free antivirus programs, such as AVG AntiVirus Free or Panda Free Antivirus, can literally interfere with system updates. Disable your antivirus and then try updating Windows.
Method # 3 Resetting the Catroot2 folder
The Catroot2 folder is incredibly important during the Windows 10 upgrade process. However, it needs to be cleaned up from time to time to avoid various errors such as 0x8024a223. Try this:
- press Win + X;
- select “Command line (administrator)”;
- run a series of the following commands:
- net stop cryptsvc
- md% systemroot% system32 catroot2.bak
- xcopy% systemroot% system32 catroot2% systemroot% system32 catroot2.bak / s
- open File Explorer and go to this directory:
- C: Windows System32 catroot2
- delete everything in the catroot2 folder;
- run the command net start cryptsvc;
- restart your computer.
Once you enter the OS, open Update and try updating Windows again. After resetting the Catroot2 folder, the error 0x8024a223 could go away.
Method # 4 Renaming the SoftwareDistribution folder
SoftwareDistribution is another extremely important folder for the Windows update process. As a rule, ordinary users, in principle, do not interact with this folder in any way. However, if update errors occur, it also has to be reset, like the Catroot2 folder.
- Open Command Prompt and run these commands in it one by one:
- net stop wuauserv
- net stop bits
- rename% windir% SoftwareDistribution SoftwareDistribution.bak
- net start wuauserv
- net start bits
- restart your computer.
Go to Windows Update and check for error 0x8024a223.
Method # 5 Resetting the Update Center components
If none of the above could help you, then it’s time to start something more serious. Resetting the Update Center components is the process that you have to deal with in case of update errors that cannot be resolved by other methods.
Do the following on your computer:
- create a WUpdateReset.txt file in any convenient place;
- open it and paste this (huge) set of commands into it:
- :: Run the reset Windows Update components.
:: void components ();
:: / ********************************************* ************************************* /
: components
:: —– Stopping the Windows Update services —–
call: print Stopping the Windows Update services.
net stop bitscall: print Stopping the Windows Update services.
net stop wuauservcall: print Stopping the Windows Update services.
net stop appidsvccall: print Stopping the Windows Update services.
net stop cryptsvccall: 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 ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (AP ;; CCLCSWR; AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset bits D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; SLCSWRPWP( AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset cryptsvc D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; CCLCSWR; AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset trustedinstaller D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; CCLCSWR; AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD):: —– 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 bitscall: print Starting the Windows Update services.
net start wuauservcall: print Starting the Windows Update services.
net start appidsvccall: print Starting the Windows Update services.
net start cryptsvccall: 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
:: / ********************************************** ************************************* /
- :: Run the reset Windows Update components.
- save the changes to the file and then change its extension to .bat;
- double click on the WUpdateReset.bat file and follow the reset of the Update Center components.
The reset process will take place almost instantly. Once it finishes, restart your computer and check if the error 0x8024a223 is gone.