Configuration ManagerDeep dive

Software update error codes in Configuration Manager: 0x80244022, 0x800F081F and more

Look up the Windows Update, network and servicing codes Configuration Manager clients report for software updates: the meaning, the usual cause and the first check.

When a Configuration Manager client fails to scan for or install software updates, the console and the logs give you a number, not a reason. This quick reference lists the Windows Update Agent, network and servicing codes that software update deployments report most often, with the official meaning, the usual cause in a Configuration Manager environment and the first thing to check.

Codes in this quick reference

  • 0x80072EE2 WININET_E_TIMEOUT: operation timed out reaching the update sourceWUAHandler.log / WindowsUpdate.log
  • 0x80072EFD Connection with the update server couldn't be establishedWUAHandler.log / WindowsUpdate.log
  • 0x80072EFE WININET_E_CONNECTION_ABORTED: connection closed abnormallyWUAHandler.log / WindowsUpdate.log
  • 0x80072F0C Certificate required to complete client authentication (SSL SUP)WUAHandler.log / WindowsUpdate.log
  • 0x80072F8F WININET_E_DECODING_FAILED: TLS not configured correctly on the clientWUAHandler.log / WindowsUpdate.log
  • 0x8024401B HTTP 407: proxy authentication requiredWUAHandler.log / WindowsUpdate.log
  • 0x80244021 HTTP 502: bad gateway (proxy in the path)WUAHandler.log / WindowsUpdate.log
  • 0x80240030 Invalid proxy list format (WinHTTP)WUAHandler.log / WindowsUpdate.log

+ 47 more codes in the tables below.

How this guide is organized: How to read these codes → Scan → Client components → Download and content trust → Installation → Servicing stack and component store → Codes that aren't failures → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. Scan (3 parts: Network and proxy; HTTP status returned by WSUS or a proxy; WSUS protocol and policy). 3. Client components. 4. Download and content trust. 5. Installation. 6. Servicing stack and component store. 7. Codes that aren't failures. 8. How to verify a fix. Toolbox: 0x800F0821, 0x800F081F, 0x80244022, CBS.log, WindowsUpdate.log.1How to read thesecodes2Scan3Client components4Download andcontent trustNetwork and proxyHTTP status returned byWSUS or a proxyWSUS protocol andpolicy5Installation6Servicing stack andcomponent store7Codes that aren'tfailures8How to verify a fixTOOLBOX0x800F08210x800F081F0x80244022CBS.logWindowsUpdate.logHow this guide is organized: How to read these codes → Scan → Client components → Download and content trust → Installation → Servicing stack and component store → Codes that aren't failures → How to verify a fixFlow diagram of the article's sections in reading order: 1. How to read these codes. 2. Scan (3 parts: Network and proxy; HTTP status returned by WSUS or a proxy; WSUS protocol and policy). 3. Client components. 4. Download and content trust. 5. Installation. 6. Servicing stack and component store. 7. Codes that aren't failures. 8. How to verify a fix. Toolbox: 0x800F0821, 0x800F081F, 0x80244022, CBS.log, WindowsUpdate.log.1How to read these codes2ScanNetwork and proxyHTTP status returned by WSUS or a proxyWSUS protocol and policy3Client components4Download and content trust5Installation6Servicing stack and component store7Codes that aren't failures8How to verify a fixTOOLBOX0x800F08210x800F081F0x80244022CBS.logWindowsUpdate.log
At a glance: how this guide is organized · 3 steps · 5 key settings and tools

How to read these codes#

Which layer a software update error code comes fromWhat does the code start with? if 0x8024: Windows Update Agent code (WUAHandler.log only passes it on; the detail is in WindowsUpdate.log.); if 0x80072: Network stack: test the path to the SUP (Test the WSUS URLs and port from the client, and the proxy settings.); if Something else: Which of these does it start with? if 0x800F: Servicing stack: search CBS.log (Like most 0x8007 codes in CBS.log; DISM RestoreHealth, then SFC.); if 0x800B: Certificate trust check failed (Check the Trusted Root and Trusted Publishers stores on the client.); if 0x87D0: Configuration Manager's own code (Not covered here; use the Error Lookup tool in CMTrace (Tools menu).)What does the code start with?FIXWindows UpdateAgent codeWUAHandler.log onlypasses it on; thedetail is inWindowsUpdate.log.0x8024FIXNetwork stack:test the path tothe SUPTest the WSUS URLsand port from theclient, and the proxysettings.0x80072Which of these does it startwith?FIXServicing stack:search CBS.logLike most 0x8007codes in CBS.log;DISM RestoreHealth,then SFC.0x800FFIXCertificate trustcheck failedCheck the TrustedRoot and TrustedPublishers stores onthe client.0x800BNOTEConfigurationManager's owncodeNot covered here;use the Error Lookuptool in CMTrace(Tools menu).0x87D0Something elseWhich layer a software update error code comes fromWhat does the code start with? if 0x8024: Windows Update Agent code (WUAHandler.log only passes it on; the detail is in WindowsUpdate.log.); if 0x80072: Network stack: test the path to the SUP (Test the WSUS URLs and port from the client, and the proxy settings.); if Something else: Which of these does it start with? if 0x800F: Servicing stack: search CBS.log (Like most 0x8007 codes in CBS.log; DISM RestoreHealth, then SFC.); if 0x800B: Certificate trust check failed (Check the Trusted Root and Trusted Publishers stores on the client.); if 0x87D0: Configuration Manager's own code (Not covered here; use the Error Lookup tool in CMTrace (Tools menu).)What does the code start with?0x8024FIXWindows Update Agent codeWUAHandler.log only passes it on; the detail is inWindowsUpdate.log.0x80072FIXNetwork stack: test the path to the SUPTest the WSUS URLs and port from the client, and theproxy settings.Something elseWhich of these does it start with?0x800FFIXServicing stack: search CBS.logLike most 0x8007 codes in CBS.log; DISMRestoreHealth, then SFC.0x800BFIXCertificate trust check failedCheck the Trusted Root and Trusted Publishersstores on the client.0x87D0NOTEConfiguration Manager's own codeNot covered here; use the Error Lookup tool inCMTrace (Tools menu).
Figure 1 · Decision tree Which layer a software update error code comes from. Read the prefix to find the layer and where to look. 0x00240005 and 0x00240006 aren't failures; convert negative decimals from reports first.
  • Console: in Monitoring › Deployments, select the software update deployment and View Status; the Error tab groups devices by error code. Software Center shows the code on a failed update.
  • WUAHandler.log (in C:\Windows\CCM\Logs) records scan and install results. It only passes on what the Windows Update Agent reported, so the detail is in WindowsUpdate.log, which you generate with Get-WindowsUpdateLog.
  • UpdatesDeployment.log and UpdatesHandler.log track deployment evaluation, downloads and installs; CAS.log, ContentTransferManager.log and DataTransferService.log show content downloads.
  • CBS.log holds the detail for servicing stack errors such as 0x800F081F.

The prefix tells you the layer: 0x8024xxxx comes from the Windows Update Agent, 0x80072xxx from the network stack, 0x800Fxxxx and most 0x8007xxxx codes in CBS.log from servicing, and 0x800Bxxxx from certificate trust checks. Configuration Manager's own 0x87D0xxxx codes aren't covered here; use the Error Lookup tool in CMTrace (Tools menu). Some reports show negative decimals, which PowerShell converts:

PowerShell
'0x{0:X8}' -f -2145107934   # returns 0x80244022

Feature update failures such as 0xC1900101 are in the feature update and upgrade error codes quick reference; for Intune-managed devices, see the Windows Update error codes for Intune admins.

Scan: reaching the software update point#

These codes appear in WUAHandler.log as a failed scan. Start by testing, from the client, the WSUS URLs that Microsoft's scan troubleshooting uses, with your SUP's name and WSUS port (80/443 or 8530/8531):

PowerShell
$sup = 'http://sup01.contoso.com:8530'
Invoke-WebRequest "$sup/Selfupdate/wuident.cab" -UseBasicParsing | Select-Object StatusCode
Invoke-WebRequest "$sup/ClientWebService/wusserverversion.xml" -UseBasicParsing | Select-Object StatusCode
Test-NetConnection -ComputerName sup01.contoso.com -Port 8530
netsh winhttp show proxy

Network and proxy#

CodeMeaningUsual causeFirst check
0x80072EE2WININET_E_TIMEOUT: the operation timed outThe client can't reach the SUP: firewall, wrong port, DNS, or the SUP is downTest the WSUS URLs above and the port with Test-NetConnection
0x80072EFDWinINet: a connection with the server couldn't be established (Microsoft lists it with the time-out errors)A firewall rule or proxy blocking the SUPTest-NetConnection to the SUP port; proxy settings
0x80072EFEWININET_E_CONNECTION_ABORTED: the connection was closed abnormallyA proxy, firewall or inspection device cutting the session, or a BITS problembitsadmin /list /allusers /verbose for the failing URL
0x80072F0CA certificate is required to complete client authenticationHTTPS SUP whose WSUS website or virtual directories accept or require client certificatesSet client certificates to Ignore on the WSUS site and virtual directories in IIS
0x80072F8FWININET_E_DECODING_FAILED: content decoding failedTLS isn't configured correctly on the clientClient TLS 1.2 settings and the SUP certificate
0x8024401BWU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ: HTTP 407, proxy authentication requiredScans run as SYSTEM through WinHTTP and the proxy wants user credentialsnetsh winhttp show proxy; bypass the proxy for the SUP FQDN
0x80244021WU_E_PT_HTTP_STATUS_BAD_GATEWAY: HTTP 502, bad gatewayA proxy between the client and the SUPAdd the SUP to the proxy bypass list
0x80240030WU_E_INVALID_PROXY_SERVER: the proxy list format is invalidA malformed WinHTTP proxy settingnetsh winhttp show proxy, then reset or reimport it
0x8024402CWU_E_PT_WINHTTP_NAME_NOT_RESOLVED: proxy or server name can't be resolvedDNS for the SUP FQDN, or a proxy name that doesn't resolveResolve-DnsName for the SUP and proxy names

HTTP status returned by WSUS or a proxy#

CodeMeaningUsual causeFirst check
0x80244017WU_E_PT_HTTP_STATUS_DENIED: HTTP 401, authentication requiredAuthentication changed on the WSUS virtual directories, or a proxy in the pathIIS log on the SUP for the client's requests
0x80244018WU_E_PT_HTTP_STATUS_FORBIDDEN: HTTP 403, request declinedIIS restrictions or a proxy blocking the clientIIS log on the SUP; proxy logs
0x80244019WU_E_PT_HTTP_STATUS_NOT_FOUND: HTTP 404Wrong port, or a damaged WSUS websiteThe Selfupdate and ClientWebService URLs above
0x8024401CWU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT: HTTP 408An overloaded SUP or a slow linkWsusPool state and IIS log; run the scan again
0x8024401FWU_E_PT_HTTP_STATUS_SERVER_ERROR: HTTP 500An error inside WSUS: database, application pool or metadataApplication event log and IIS log on the SUP
0x80244022WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL: HTTP 503, service temporarily overloadedThe WsusPool application pool has stopped, often at its memory limitStart WsusPool in IIS and review its private memory limit
0x80244023WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT: timed out waiting for a gatewayA proxy or gateway in the pathBypass the proxy for the SUP

WSUS protocol and policy#

CodeMeaningUsual causeFirst check
0x80244007WU_E_PT_SOAPCLIENT_SOAPFAULT: SOAP faultWindows can't renew its Windows Update cookies with WSUSMicrosoft's article on 0x80244007 during WSUS scans; WSUS health
0x80244010WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS: too many round trips to the serverA very large catalog with many superseded or unneeded updates in WSUSWSUS cleanup and declining superseded updates; run another scan
0x80244011WU_E_PT_SUS_SERVER_NOT_SET: WUServer policy value missingConfiguration Manager's local policy wasn't applied or was removedWUServer under HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate; machine policy
0x8024402FWU_E_PT_ECP_SUCCEEDED_WITH_ERRORS: external cab processing completed with errorsWeb filtering software altering update downloadsExempt the clients or update traffic from filtering
Group policy settings were overwritten by a higher authority (Domain Controller)A domain GPO overrides the WSUS server and port that Configuration Manager setAn old WSUS GPO still linked to the devicegpresult /h; make the GPO match the SUP name and port, or remove it

Client components#

For damaged Windows Update components, Microsoft's reset is to stop the service, rename the data store and scan again:

Command Prompt
net stop wuauserv
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
net start wuauserv
CodeMeaningUsual causeFirst check
0x80070422ERROR_SERVICE_DISABLED: Windows Update service stopped or disabledA hardening script or policy disabled wuauservGet-Service wuauserv; restore its default Manual startup
0x8024002EWU_E_WU_DISABLED: access to an unmanaged server isn't allowedSomething asked Windows Update to use Microsoft's servers directly while policy allows only the intranet serverFind the caller in WindowsUpdate.log; review the device's Windows Update policies
0x80246008WU_E_DM_FAILTOCONNECTTOBITS: couldn't connect to BITSBITS stopped, disabled or damagedsc query bits; reset Windows Update components
0x80248011WU_E_DS_UNABLETOSTART: couldn't create a data store objectCorrupted Windows Update componentsReset the data store (below) and rescan
0x8024D009WU_E_SETUP_SKIP_UPDATE: agent self-update skippedWSUS isn't serving the agent self-updateWSUS Selfupdate virtual directory; KB920659

Download and content trust#

CodeMeaningUsual causeFirst check
0x80246007WU_E_DM_NOTDOWNLOADED: the update hasn't been downloadedContent never reached the client cacheCAS.log, ContentTransferManager.log, DataTransferService.log; boundary groups and package distribution
0x8024200DWU_E_UH_NEEDANOTHERDOWNLOAD: the update must be downloaded againIncomplete or mismatched content in the client cacheDelete the cached content and rerun deployment evaluation
0x80200053BG_E_VALIDATION_FAILED (BITS)A firewall or proxy filtering downloadsExempt update downloads from filtering
0x80242006WU_E_UH_INVALIDMETADATA: the update contains invalid metadataA damaged local data store or catroot2Rename SoftwareDistribution\DataStore, SoftwareDistribution\Download and catroot2, then rescan
0x8007000DERROR_INVALID_DATA: invalid data downloaded, or corruptionA corrupted downloadClear the cached content and download again
0x800B0109CERT_E_UNTRUSTEDROOT: the chain ends in an untrusted rootA third-party update signed with a WSUS signing certificate the client doesn't trust, or the signed-updates policy isn't setTrusted Root and Trusted Publishers stores; AcceptTrustedPublisherCerts
0x800B0004TRUST_E_SUBJECT_NOT_TRUSTED: the subject isn't trustedSigning certificate in Trusted Root but not in Trusted PublishersTrusted Publishers store on the client

Installation#

CodeMeaningUsual causeFirst check
0x80240016WU_E_INSTALL_NOT_ALLOWED: another install running or a restart pendingA pending restart from an earlier update or appRestart, then rerun deployment evaluation
0x80240009WU_E_OPERATIONINPROGRESS: a conflicting operation is in progressAnother scan or install running at the same timeLet it finish and retry
0x8024001EWU_E_SERVICE_STOP: the service or system was shutting downA restart or shutdown during installationRetry in the next maintenance window
0x80240022WU_E_ALL_UPDATES_FAILED: the operation failed for all updatesAntivirus blocking folders such as SoftwareDistributionCBS.log; antivirus exclusions per your vendor's guidance
0x8024200BWU_E_UH_INSTALLERFAILURE: the installer failedThe update's own installer failed; .NET Framework failures usually mean a corrupted .NET installationInstall the update manually to reproduce; CBS.log
0x80242014WU_E_UH_POSTREBOOTSTILLPENDING: post-restart operation still in progressThe device hasn't restartedRestart the device
0x80242017WU_E_UH_NEW_SERVICING_STACK_REQUIREDA required servicing stack update isn't installedDeploy the servicing stack update first
0x80240017WU_E_NOT_APPLICABLE: no applicable updatesThe update doesn't apply to this device (product, edition, architecture or a missing prerequisite)Compare the update's product and architecture with the device
0x80070BC9ERROR_FAIL_REBOOT_REQUIREDA GPO sets the TrustedInstaller service's startup type, so pending operations can't finishRemove that policy and restart; if still stuck, revert pending actions from WinRE

Servicing stack and component store#

These come from the servicing stack; search %windir%\Logs\CBS\CBS.log for the code around the failure time. The repair for most of them:

Command Prompt
Dism.exe /Online /Cleanup-Image /RestoreHealth
Sfc.exe /Scannow

If the device can't reach Windows Update for repair files, point DISM at matching media, for example /Source:wim:D:\sources\install.wim:1 /LimitAccess.

CodeMeaningUsual causeFirst check
0x800F081FCBS_E_SOURCE_MISSING: source for a package or file not foundComponent store corruptionDISM RestoreHealth, then SFC (below)
0x800F0831CBS_E_STORE_CORRUPTIONComponent store corruptionDISM RestoreHealth, then SFC
0x80073701ERROR_SXS_ASSEMBLY_MISSINGA partially installed componentDISM RestoreHealth, then SFC
0x8007371BERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETEComponent store corruptionDISM RestoreHealth, then SFC
0x80070570ERROR_FILE_CORRUPTA corrupted file in the component storeDISM RestoreHealth, then SFC
0x800F0821CBS_E_ABORT: CBS transaction timeout exceededServicing too slow for the watchdog timer, common on small VMsAdd CPU and memory; Microsoft also lists a minimum update level
0x800F0920CBS_E_HANG_DETECTED, logged after 0x800F0821Same as 0x800F0821Same as 0x800F0821
0x800F0922CBS_E_INSTALLERS_FAILEDServicing installers failed; Microsoft documents a Windows Server 2016 case where license token updates failCBS.log; for that case, write access for User and Network Service on C:\Windows\System32\spp
0x80070005E_ACCESSDENIED in CBS.logChanged file system or registry permissionsFind the object in CBS.log and restore its permissions
0x80070020ERROR_SHARING_VIOLATION: file in useNon-Microsoft filter drivers, such as antivirusClean restart; Process Monitor with CBS.log
0x80070490ERROR_NOT_FOUND during a driver installationMissing driver details (such as Arch) under DriverOperations in the registryMicrosoft's DriverOperations registry fix

Codes that aren't failures#

CodeMeaningUsual causeFirst check
0x00240005WU_S_REBOOT_REQUIREDThe install succeeded and needs a restartRestart according to the deployment's restart settings
0x00240006WU_S_ALREADY_INSTALLEDThe update is already on the deviceNothing to fix

How to verify a fix#

  1. On the client, open the Configuration Manager control panel and, on the Actions tab, run Software Updates Scan Cycle and then Software Updates Deployment Evaluation Cycle.
  2. WUAHandler.log shows a completed scan with no error code, and the update is listed as missing or installed as you expect.
  3. Check for a pending restart and for deployed updates that are still waiting or failed (ErrorCode is shown in decimal):
PowerShell
Invoke-CimMethod -Namespace root\ccm\ClientSDK -ClassName CCM_ClientUtilities -MethodName DetermineIfRebootPending
Get-CimInstance -Namespace root\ccm\ClientSDK -ClassName CCM_SoftwareUpdate |
    Select-Object ArticleID, Name, EvaluationState, ErrorCode
  1. In the console, the devices move from Error to Compliant in the deployment status after the client sends its next state messages.

For full walk-throughs, see updates not installing, software update point sync failures, WSUS maintenance and deployments waiting for a maintenance window.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)