Description
ERROR_SHARING_VIOLATION (WU) (hex code 0x80070020, decimal -2147024864) is a Windows error-level error code in the Windows Update & Feature Updates family. Microsoft surfaces this code through the Win32 API, the Common Language Runtime, the kernel, the event log, PowerShell, command-line tools (sfc, dism, gpupdate, sc), and Windows-side applications such as Outlook, Teams, Office, and System Center.
A file needed by Windows Update is locked by another process.
This page documents what triggers 0x80070020, the most common scenarios where it appears, the likely root causes, and a step-by-step troubleshooting workflow you can run against affected endpoints. It is intended for system administrators, MSP technicians, helpdesk engineers, and anyone diagnosing Windows behavior in a managed environment.
In-depth explanation
This is an error-severity code. Windows uses it to signal a failed operation that prevented the caller from completing its work. The underlying cause can range from a permissions or quota issue to a corrupted system component, missing dependency, or unreachable service.
It is part of the Windows Update / WUA error space and typically surfaces in the Settings app, WindowsUpdate.log, the CBS log, or in WSUS / Intune / Configuration Manager reports.
The code can be looked up programmatically in PowerShell with [ComponentModel.Win32Exception]::new(-2147024864).Message (for Win32 / NTSTATUS codes that map cleanly), or with net helpmsg <decimal> for the legacy decimal range. For HRESULT-style codes, decode the facility and code with err.exe from the SDK or via the WinDbg !error command.
Common causes
- Corrupted Component-Based Servicing (CBS) store.
- WSUS / Intune / SCCM serving the wrong update or a deprecated revision.
- Insufficient free space on the system drive (Windows requires several GB free for feature updates).
- Antivirus or EDR blocking
wuauservor thecbs.logwriter. - Pending reboot from a previous installation locking the WinSxS store.
Troubleshooting steps
- Run the official Windows Update Troubleshooter (Settings > System > Troubleshoot).
- Stop the relevant services and reset the local cache:
net stop wuauserv bits cryptsvc msiserver ren %SystemRoot%\SoftwareDistribution SoftwareDistribution.old ren %SystemRoot%\System32\catroot2 catroot2.old net start wuauserv bits cryptsvc msiserver - Repair the component store:
DISM /Online /Cleanup-Image /RestoreHealthfollowed bysfc /scannow. - If a feature update fails, free up disk space (15+ GB on C:), unplug non-essential USB devices, and update or roll back the displaying drivers.
- For domain-managed clients, verify GPO scoping, WSUS / Intune assignment, and check
%WinDir%\WindowsUpdate.log(runGet-WindowsUpdateLogon Windows 10/11).
Decode in PowerShell
# Decode 0x80070020 (-2147024864) in PowerShell
[ComponentModel.Win32Exception]::new(-2147024864).Message
# Or via WinDbg / err.exe (Windows SDK)
# err 0x80070020
# Or net helpmsg (legacy decimal range only)
# net helpmsg <decimal>Frequently asked questions
What does the Windows error code 0x80070020 mean?
ERROR_SHARING_VIOLATION (WU) (decimal -2147024864). A file needed by Windows Update is locked by another process.How do I decode 0x80070020 in PowerShell?
[ComponentModel.Win32Exception]::new(-2147024864).Message in any PowerShell session. For HRESULT-style codes, use err.exe from the Windows SDK or the WinDbg !error command.Where does Windows typically log this error?
%WinDir%\WindowsUpdate.log; AD/Kerberos → Security event log on the DC; BSOD → minidump under C:\Windows\Minidump; MSI → %TEMP%\msi*.log; WMI → Microsoft-Windows-WMI-Activity). Always cross-reference the timestamp and module name with the Application and System event logs.Is this code recoverable?
Should I open a Microsoft support case for this?
Get-WinEvent export ready before opening the case.
