Error 0x800f0988 — PSFX_E_MATCHING_COMPONENT_NOT_FOUND — is the update engine failing to match the cumulative update against the components actually installed on your PC. In plain terms, the update expects to find component version X, your system has version Y (or nothing at all), and servicing refuses to guess. On Windows 11, the most famous trigger is leftover language packs: a partially installed or unneeded language pack puts components in a state the cumulative update cannot reconcile.
The repair is about alignment: remove the mismatched pieces, clean the component store, and give the update a coherent system to patch. This error is stubborn but well-understood, and the fixes below address its known triggers in order.
If the sibling PSFX error is the one you are chasing, the Windows 10 guide covers Windows 10 and the companion guide for 0x800f0989 handles the closely related 0x800f0989. Start by auditing your language packs.
Why this happens
- Unneeded language packs create component mismatches: Language packs add component variants the cumulative update must account for. A stale, partial, or unneeded pack produces versions the update package does not describe, triggering 0x800f0988.
- The component store has drifted from expectations: Interrupted updates and aggressive cleanup tools leave WinSxS in states where installed components no longer match any known servicing baseline.
- A previous cumulative update failed partway: A half-applied cumulative update leaves some components at the new level and others at the old, and the next cumulative update cannot reconcile the split.
- The servicing stack itself is outdated: The servicing stack update (SSU) is the engine that applies cumulative updates; an outdated SSU can misread component states that a current one handles correctly.
- Optional features were half-removed: .NET versions, media features, or other optional components removed incompletely leave orphaned component records the update cannot match.
- Third-party cleaners deleted servicing metadata: Tools that promise to slim Windows sometimes remove manifests and payloads the servicing stack needs to compute the update, manufacturing the mismatch.
- Disk corruption damaged component records: Bad sectors in the WinSxS tree corrupt the very records the update engine matches against, producing phantom mismatches.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Remove unneeded language packs
This is the signature fix for 0x800f0988: extra language packs — especially ones added once and never used — are the most documented trigger. Removing every language you do not actively use eliminates the mismatched component variants the cumulative update chokes on.
- Open Settings > Time & language > Language (Windows 11) or Language (Windows 10).
- Under Preferred languages, select each language you do not use and click Remove.
- Restart the laptop after removing them.
- Open Settings > Windows Update and retry the cumulative update.
- If the update succeeds, the language packs were the mismatch — leave them removed.
Fix 2: Clean the component store with DISM
With the extras removed, clean the store itself: DISM’s StartComponentCleanup purges superseded components and reconciles the store, while RestoreHealth repairs corruption. Together they return WinSxS to a coherent state the cumulative update can match against. On Windows 10 installations that have been through years of cumulative updates, this cleanup also reclaims significant disk space as a welcome side benefit.
- Open Command Prompt as administrator.
- Run
DISM /Online /Cleanup-Image /StartComponentCleanup. - When it finishes, run
DISM /Online /Cleanup-Image /RestoreHealth. - Follow with
sfc /scannowto verify protected files. - Restart, then retry the update in Settings > Windows Update.
Fix 3: Install the latest servicing stack update first
The servicing stack is the engine, and an outdated engine misreads modern cumulative updates. Installing the newest SSU for your OS build before retrying the cumulative update resolves 0x800f0988 cases where the mismatch is really an engine limitation.
- Check your OS build with Win + R >
winver. - Search the Microsoft Update Catalog for the latest servicing stack update matching your build.
- Download and install the SSU package, then restart.
- Return to Settings > Windows Update and retry the cumulative update.
- If the SSU itself fails, continue with the cache reset below first.
Fix 4: Reset the Windows Update components
A corrupted download cache or wedged servicing state can mimic component mismatch by feeding the engine bad data to match against. Resetting the components — renaming SoftwareDistribution and catroot2, restarting the services — ensures the next attempt works from clean downloads and clean state.
- Open Command Prompt as administrator.
- Run
net stop wuauserv,net stop bits,net stop cryptsvc. - Run
ren C:\Windows\SoftwareDistribution SoftwareDistribution.oldandren C:\Windows\System32\catroot2 catroot2.old. - Restart the three services with
net startcommands. - Retry the cumulative update in Settings > Windows Update.
Fix 5: Remove half-installed optional features
Optional features stuck between installed and removed — visible in the Windows Features dialog as checked-but-broken entries — leave orphaned component records that cumulative updates cannot match. Toggling them fully off (or fully on, then off) clears the orphaned state.
- Press Win + R, type
optionalfeatures, and press Enter. - Uncheck any feature you do not need — especially half-configured ones — and click OK.
- If a feature you need shows as broken, check it fully on, restart, then uncheck it and restart again.
- After the features dialog applies changes, restart once more.
- Retry the update in Settings > Windows Update.
Fix 6: Perform an in-place upgrade repair
When the mismatch resists every targeted repair, rebuild the baseline: an in-place upgrade reinstalls Windows over itself, reconstructing the component store, language configuration, and servicing state from pristine media while keeping your files, apps, and settings. It resolves essentially all persistent 0x800f0988 cases.
- Create the Windows 11 installation media — download it from Windows 11 download page .
- Run setup.exe from within your running Windows.
- Choose Keep personal files and apps.
- Allow one to two hours for completion across several restarts.
- Afterward, Windows Update installs cumulative updates against a clean, coherent baseline.
Closing
Error 0x800f0988 is servicing’s way of saying the parts do not match the blueprint: strip the unneeded language packs, reconcile the component store, update the servicing engine, and the cumulative update finds the coherent system it expects. On Windows 11, the language-pack cleanup alone ends a remarkable number of these cases — a good reminder that the extras we install casually can become the failures we debug seriously.
