0XC0150024

STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE (0XC0150024) Fix

Database Errors Intermediate 👁 1 views 📅 May 30, 2026

Windows can't close a side-by-side assembly transaction because a required member is missing. Usually a corrupted SxS store or failed update.

What this error actually means

Error 0xC0150024 (STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE) shows up when Windows tries to finalize a side-by-side (SxS) assembly transaction but can't find one of the required members. Think of it like trying to close a zip file when you haven't included all the files — the system refuses because the transaction isn't complete.

You'll see this error most often during Windows Update installation failures, or when you try to install or uninstall certain applications that depend on the Visual C++ redistributables. The real trigger is a corrupted or incomplete SxS store, usually from a failed update, a disk write error, or a bad registry entry.

Cause #1: Corrupted Windows component store (most common)

What's actually happening here is that the Component-Based Servicing (CBS) layer has an incomplete transaction record. Windows keeps a log of all assembly transactions, and when one gets interrupted — say, by a power loss or forced reboot during an update — it leaves a dangling reference. The SxS store can't resolve it, so you get 0xC0150024.

Fix: Run DISM and SFC in sequence

  1. Open Command Prompt as Administrator. Hit Win+X, choose "Command Prompt (Admin)" or "Windows PowerShell (Admin)".
  2. Run DISM first. This repairs the component store itself.
    DISM /Online /Cleanup-Image /RestoreHealth
    Wait for it to finish — can take 10-20 minutes. If it fails with error 0x800f081f, you'll need a Windows installation media. Mount the ISO and run:
    DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\Sources\install.wim /LimitAccess
    Replace C:\Sources\install.wim with the actual path from your media.
  3. Then run SFC. This checks system files for integrity.
    sfc /scannow
    Let it complete. SFC will replace any corrupted files that DISM couldn't fix directly.
  4. Reboot and check if the error is gone.

The reason step 3 works after step 2 is that SFC relies on the component store for clean copies — if the store itself is busted, SFC will fail. DISM fixes the store first; then SFC can do its job.

Cause #2: Incomplete or failed Windows Update

If you see this error in the Windows Update history or while trying to install a new update, the update's transaction didn't close properly. The CBS log (located at C:\Windows\Logs\CBS\CBS.log) will show entries like "Failed to finalize transaction" or "Missing member".

Fix: Clear the update cache and reset Windows Update components

  1. Stop the relevant services:
    net stop wuauserv
    net stop cryptSvc
    net stop bits
    net stop msiserver
  2. Rename the SoftwareDistribution and Catroot2 folders to force Windows to rebuild them:
    ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
    ren C:\Windows\System32\catroot2 Catroot2.old
  3. Restart the services:
    net start wuauserv
    net start cryptSvc
    net start bits
    net start msiserver
  4. Run Windows Update again. If the error still occurs, you may need to manually check CBS.log for the specific missing assembly. Look for lines containing "Transaction failed" or "missing". The missing member is usually a manifest or catalog file that got deleted or corrupted.

Cause #3: Registry corruption in SxS keys

Less common but nastier: the registry entries that track SxS assembly versions can get out of sync. This happens after uninstalling the wrong version of Visual C++ redistributables, or after a manual cleanup gone wrong.

Fix: Check and repair the SxS registry keys

  1. Open Registry Editor (regedit.exe) as Administrator.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\.
  3. Look for Winners and Names subkeys. If you see a key with a reference to an assembly version that doesn't exist in C:\Windows\WinSxS\, that's your problem.
  4. Back up the entire SideBySide key first — right-click → Export.
  5. Delete the orphaned key. But be careful: removing the wrong one can break applications. Only remove a key if you're 100% sure the assembly isn't used. Cross-check with dir /s C:\Windows\WinSxS\ <assembly_name>.
  6. Reboot.

I've seen this happen when someone uninstalls a Visual C++ 2015 redistributable but keeps the 2017 version — the installer leaves a stale winner entry. Deleting that entry fixes the error without reinstalling anything.

Quick-reference summary

Cause Diagnosis Fix
Corrupt component store DISM fails or CBS log shows store corruption DISM /RestoreHealth → SFC /scannow
Incomplete update transaction Update fails with 0xC0150024 in history Reset SoftwareDistribution & Catroot2, retry update
Orphaned registry reference Stale Winners key pointing to nonexistent assembly Export SideBySide key, delete orphaned reference

Start with Cause #1 — it covers 80% of cases. If that doesn't work, move to #2. Only touch the registry if you're comfortable with it. And always back up before editing.

Was this solution helpful?