HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows Update Windows UpdateComponent StoreWinSxSDISMSFCCBS.logTroubleshootingWindows 11

Error 0x80073712: Prove the Component Store Is Really Corrupt Before You Rebuild Anything

IA
Imran Awan
23 August 2026

A cumulative update fails. The Windows Update history shows 0x80073712. Somebody opens a terminal, runs sfc /scannow, waits, then runs DISM /Online /Cleanup-Image /RestoreHealth, waits some more, and reboots. Sometimes it works. Nobody can say why, and nobody can say which component was broken.

That sequence is wrong in three separate ways, and the third one matters most. It is in the wrong order according to Microsoft's own support article. It skips the step that tells you whether the store is corrupt at all. And it is the one operation that rewrites the very evidence you needed to identify the failing component, which means a device that fails again next month starts from zero.

This post is about proving corruption before you repair it. Specifically: what a component manifest is, where manifests live, which part of the servicing stack validates them, how to read the corrupt component's name out of CBS.log, and what the three /Cleanup-Image health switches genuinely do, because most admins have /CheckHealth exactly backwards.

The short version

0x80073712 is ERROR_SXS_COMPONENT_STORE_CORRUPT, decimal 14098, and it means a CSI transaction refused to commit because component metadata did not validate. /CheckHealth does not scan anything — it reads a corruption marker in the registry that a previous failed operation already set, and it returns in about a second. /ScanHealth is the actual scan. Run /CheckHealth, then /ScanHealth, then read the corruption block in CBS.log to get the component name, and only then repair. Microsoft documents DISM before SFC, not after. And a clean /CheckHealth result proves nothing about the store — it only proves no marker is set.

The problem: the repair that deletes your evidence

Start with what the code actually says. In WinError.h, decimal 14098 is ERROR_SXS_COMPONENT_STORE_CORRUPT, and the documented message is "The component store has been corrupted." Facility 7 wraps it into the HRESULT you see in the UI, 0x80073712.

Microsoft's own KB947821 describes the same code slightly differently: "The component store is in an inconsistent state." That second phrasing is the more useful one. Inconsistent is not the same as damaged. It means the metadata the servicing stack read did not agree with what the servicing stack expected, and the transaction refused to commit rather than half-apply an update.

Here is the part that catches teams out. Windows repairs this class of fault on its own, silently, and has done since Windows 8. Microsoft's servicing team called the feature Inbox Corruption Repair, and described the automatic path plainly: when corruption is detected while installing fixes via Windows Update, "we'll fix the corruption silently and then re-install the prior packages."

So by the time a human is looking at 0x80073712, one of two things is true: automatic repair already tried and could not source a replacement, or the failure is outside what automatic repair covers. Both cases need the component name. Neither is helped by guessing.

Watch out: /RestoreHealth is a write operation. It replaces manifests, catalogs and registry data, and it clears the corruption marker on success. Run it first and the only surviving record of which component was broken is the corruption block it wrote into CBS.log during that run — a 12 MB rolling file that gets archived into CbsPersist_*.cab and eventually rolls off. On a recurring fleet fault you have destroyed the trend data you needed. Capture first, repair second.

The second problem with the reflex is ordering. The Microsoft support article for System File Checker is explicit: "You should run DISM prior to running the System File Checker." The logic is straightforward once you know the layering. SFC repairs system files by pulling known-good copies from the component store. If the component store itself is inconsistent, SFC is asking a broken source for a good answer. Fix the store, then check the files.

Why it happens: manifests, CSI, and who validates what

The component store is the WinSxS folder, at C:\Windows\WinSxS. Microsoft's own framing is that it exists "to support the functions needed for the customization and updating of Windows" — installing update components, enabling features, moving between editions, recovering from corruption, and uninstalling bad updates. Components track objects such as files, directories, registry keys and services, and specific component versions are collected into packages.

The servicing stack that operates on it has two layers, and knowing which layer failed is most of the diagnosis:

That distinction is why the log lines matter. A line prefixed CBS is a package-level statement. A line prefixed CSI is a component-level statement. 0x80073712 is raised by CSI and reported by CBS, which is precisely what the documented log excerpt shows.

What a manifest is, and where it lives

A manifest is not a mystery. Microsoft defines manifests as "XML files that accompany and describe side-by-side assemblies or isolated applications," which "uniquely identify the assembly through the assembly's assemblyIdentity element" and "specify the files that make up the assembly." Manifests for shared assemblies are stored in the WinSxS folder.

Critically, a manifest also carries verification data for its files. You can prove that from a sibling error code: 0x800736CC, ERROR_SXS_FILE_HASH_MISMATCH, is documented as "A component's file does not match the verification information present in the component manifest." The manifest is the authority. The binary on disk is the claim being checked.

KB947821 names the exact locations DISM validates, and this is the single most useful paragraph in the whole article:

Directories DISM checks for integrity
  %SYSTEMROOT%\Servicing\Packages    ← package metadata (.mum) and catalogs (.cat)
  %SYSTEMROOT%\WinSxS\Manifests     ← component manifests (.manifest)

Registry data DISM checks for integrity
  HKEY_LOCAL_MACHINE\Components
  HKEY_LOCAL_MACHINE\Schema
  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

Two file locations and three registry locations. That is the entire surface. "Component store corruption" always resolves to a problem in one of those five places, and the corruption taxonomy in CBS.log tells you which.

On the Windows 11 test device used for this article, those two directories held 43,198 .manifest files under WinSxS\Manifests, and 7,490 .mum files paired with exactly 7,490 .cat files under servicing\Packages. That one-to-one pairing is not a coincidence, and it is why DISM can emit the message "Repair failed: Missing replacement mum/cat pair." Every package descriptor is expected to have a matching signed catalog.

Context: the servicing stack is itself a versioned component inside the store, which is why servicing stack updates exist as a separate class. On the test device, C:\Windows\WinSxS held two amd64_microsoft-windows-servicingstack_* component directories side by side — 10.0.26100.1 from release, and 10.0.26100.9156 current. The engine binaries inside the newer one all reported 10.0.26100.9156, while TrustedInstaller.exe in C:\Windows\servicing reported 10.0.26100.7019. Different versions in the same servicing path is normal, not a fault.

The binaries that actually do the work

Most of the servicing engine is not in System32, which surprises people who go looking for it. It lives inside the versioned servicing-stack component directory in the store. Verified on the test device:

BinaryRoleWhere it lives
TrustedInstaller.exeCBS service host; the package-level authorityC:\Windows\servicing\
CbsCore.dllThe CBS engine itself. Not in System32servicing-stack component dir in WinSxS
TiWorker.exeWorker process TrustedInstaller spawns to do the servicing workservicing-stack component dir in WinSxS
TiFileFetcher.exeFetches replacement payload during repairservicing-stack component dir in WinSxS
poqexec.exeRuns the Primitive Operation Queue at boot — the file replacements that could not happen while Windows was runningservicing-stack component dir, and System32
drupdate.dllDriver update handling inside the servicing stackservicing-stack component dir in WinSxS
Dism.exe, dismapi.dllDISM front end and its API surfaceC:\Windows\System32\
sfc.exeSystem File Checker front endC:\Windows\System32\

If TiWorker.exe is pinning a core for twenty minutes, that is the store being walked, not a runaway process. And C:\Windows\WinSxS\pending.xml was absent on the healthy test device, which is the expected state: it only appears when CSI has deferred operations waiting for a reboot.

How to verify: six steps to name the broken component

Work these in order. The goal is not "is it corrupt" — it is "which component, and is it repairable." Do not skip to step four.

Step 1: read the marker. This is not a scan.

Here is the thing almost everyone gets wrong. The current DISM reference says /CheckHealth "Checks whether the image has been flagged as corrupted by a failed process and whether the corruption can be repaired." Note the word flagged. Microsoft's servicing team was blunter about it: /CheckHealth "checks to see if a component corruption marker is already present in the registry," nothing is fixed or logged, and "this operation should be almost instantaneous." They called it a read-only CHKDSK.

Elevated prompt — step 1, read the marker
C:\> DISM /Online /Cleanup-Image /CheckHealth Deployment Image Servicing and Management tool Version: 10.0.26100.8972 Image Version: 10.0.26200.9168 No component store corruption detected. The operation completed successfully. # Returned in about a second. That is the tell. # It did NOT walk 43,198 manifests in one second. It read a flag. # "No corruption detected" here means "no marker is set" - nothing more.

The registry surface behind that marker is worth knowing, because it holds history that /CheckHealth never prints. Microsoft documents that DISM checks this key, and documents exactly one value under it (LastResetBase_UTC). The rest of the value names below were read read-only from a live Windows 11 device; Microsoft does not publish their individual semantics, so treat them as corroborating evidence, not as an API.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing
ValueMeaningWhat to look for
Corrupt observedThe corruption marker /CheckHealth reports on0 on a healthy device. Non-zero means a failed operation flagged the store
AutoRepairNeeded observedWhether servicing has queued its own repair0 healthy. Non-zero means Windows intends to self-repair — give it a chance before you intervene
PreviousCorruptionDetected observedTimestamp of the last corruption detectionA FILETIME. Non-zero proves corruption has happened even when Corrupt is 0
LifetimeTimesSuccessfullyRepaired observedCount of successful repairs over the device lifetimeGreater than 0 means Inbox Corruption Repair has silently run. This is your recurrence signal
LastAutoRepairAttempted observedCounter for the most recent automatic repair attemptCorrelate against the Setup log events in step 2
RepairCategory observedGUID identifying the repair classificationChanges between repair events; useful only as a fingerprint across a fleet
LastResetBase_UTC documentedWhen /ResetBase last ranAbsent means never run. Its presence means update uninstall was surrendered on that device
LastModified_UTC observedLast time CBS wrote this keyShould track your last servicing operation. A stale date on a patched device is odd
EnableLog observedCBS logging switch1 means CBS.log is being written. If it is 0 you have no evidence at all

The test device read Corrupt = 0 and AutoRepairNeeded = 0 — clean right now. It also read PreviousCorruptionDetected = 134173478872001427, which decodes to 2026-03-07 09:04:47 UTC, and LifetimeTimesSuccessfullyRepaired = 5. This is a fully patched, healthy corporate laptop whose component store has been silently repaired five times, most recently in March, and nobody ever raised a ticket. That is the mechanism working as designed, and it is also why "we've never had store corruption" is usually just "we've never looked."

Gotcha: a clean /CheckHealth does not mean a healthy store. It means no marker is set. A store can be genuinely inconsistent with no marker, because the marker is only written when an operation fails in a way CBS recognises. If your update is failing with 0x80073712 and /CheckHealth says clean, that is not a contradiction and it is not a reason to stop — it is a reason to run step 2.

Step 2: run the actual scan, then read the Setup log

/ScanHealth is the real scan: it "checks for component store corruption and records that corruption to the C:\Windows\Logs\CBS\CBS.log but no corruption is fixed using this switch," and it takes roughly five to ten minutes. That is the read-only diagnostic you actually want on a production device, because it produces a log and changes nothing.

It also leaves a durable, timestamped record in the Windows event log that survives the CBS.log rolling off. Almost nobody uses these two events, and they are the cleanest proof artifact in the whole exercise.

Log: Setup   Provider: Microsoft-Windows-Servicing
Event IDMessageWhat it tells you
1013"Initiating system store corruption detection and repair. Detection Only: 1, Automatically Triggered: 0."A corruption scan started. Detection Only: 1 is a detect pass (/ScanHealth); 0 is a repair pass. Automatically Triggered: 0 means a human ran it, not Windows
1014"System store corruption detection and repair has completed. Status: 0x0, Total instances of corruption found: 0, total instances of corruption repaired: 0."The verdict, with counts. Status: 0x0 plus found 0 is your clean result. Found greater than repaired means unrepaired corruption remains
1"Initiating changes for package KB<n>. Current state is Staged. Target state is Staged."A package state transition began. Pair with Event 2 to confirm it finished
2"Package KB<n> was successfully changed to the Staged state."The transition completed. Staged is not Installed — that is normal mid-flight
4"A reboot is necessary before package KB5120708 can be changed to the Installed state."The install is gated on a reboot. This is not a failure and must not be treated as one
PowerShell — step 2, scan then read the verdict events
PS C:\> DISM /Online /Cleanup-Image /ScanHealth # ~5-10 minutes. Read-only. Writes findings to CBS.log. PS C:\> Get-WinEvent -LogName Setup | >> Where-Object Id -in 1013,1014 | >> Select-Object -First 2 TimeCreated,Id,Message | Format-List TimeCreated : 08/21/2026 23:15:06 Id : 1014 Message : System store corruption detection and repair has completed. Status: 0x0, Total instances of corruption found: 0, total instances of corruption repaired: 0. TimeCreated : 08/21/2026 23:11:03 Id : 1013 Message : Initiating system store corruption detection and repair. Detection Only: 1, Automatically Triggered: 0. # Real output from the test device. 1013 -> 1014 = 4m03s elapsed, # which matches Microsoft's documented ~5-10min for a full scan. # Detection Only: 1 confirms this was ScanHealth, not RestoreHealth. # Status 0x0 + found 0 = the store genuinely validated. THIS is proof.

Step 3: read the corruption block in CBS.log

This is where the component name lives. Both /ScanHealth and /RestoreHealth write a structured corruption report into CBS.log, headed "Checking System Update Readiness." Microsoft publishes the format in KB947821, and it looks like this:

C:\Windows\Logs\CBS\CBS.log — corruption block (Microsoft-documented format)
Checking System Update Readiness. (p) CSI Payload Corrupt (n) amd64_microsoft-windows-a..modernappmanagement_ 31bf3856ad364e35_10.0.19045.3636_none_23b3b3ece690d77b\ EnterpriseModernAppMgmtCSP.dll (p) CBS MUM Missing (n) Microsoft-Windows-Client-Features-Package~ 31bf3856ad364e35~amd64~~10.0.19045.4291 (p) CSI Manifest Corrupt (w) (Fixed) wow64_microsoft-windows-audio-mmecore-acm_ 31bf3856ad364e35_10.0.19045.1_none_a12b40f4b4c7b751 Summary: Operation: Detect and Repair Operation result: 0x800f081f Last Successful Step: Remove staged packages completes. Total Detected Corruption: 2 CBS Manifest Corruption: 2 CBS Metadata Corruption: 0 CSI Manifest Corruption: 0 CSI Metadata Corruption: 0 CSI Payload Corruption: 0 Total Repaired Corruption: 1 CBS Manifest Repaired: 1 # Read this bottom-up. Detected 2, Repaired 1 -> one is still broken. # (p) = primitive finding. (w) (Fixed) = it was repaired in this pass. # CBS MUM Missing = a .mum in servicing\Packages is gone (package level). # CSI Manifest Corrupt = a .manifest in WinSxS\Manifests is bad (component level). # CSI Payload Corrupt = the manifest is fine, the FILE is wrong. # Operation result 0x800f081f = CBS_E_SOURCE_MISSING -> needs /Source.

Six corruption categories, and each points at a different one of the five locations from step 2. That mapping is the whole diagnostic payoff:

Tip: the two logs answer different questions and are not interchangeable. C:\Windows\Logs\DISM\dism.log records what DISM did — which command ran, which provider it loaded, whether it failed. C:\Windows\Logs\CBS\CBS.log records what the servicing stack found — the corruption block, the component names, the CSI transaction errors. KB947821 states DISM's findings go to CBS.log. So when someone says "DISM said corruption was repaired but dism.log doesn't list anything," that is expected: look in CBS.log. On the test device CBS.log was 12.5 MB against a 4.7 MB dism.log, with five archived CbsPersist_*.cab files alongside.

Step 4: name the component, then find its KB

Component directory names are structured, and once you can read one you can find its owner. Take wow64_microsoft-windows-audio-volumecontrol_31bf3856ad364e35_10.0.19045.3636_none_4514b27cf12f35d5: architecture, component name, the Microsoft public key token 31bf3856ad364e35, then the version, then language, then a hash. The version segment is the Update Build Revision, and KB947821 documents using it to find the owning update — match the UBR (here 3636) against the Windows release history page, then pull that KB from the Microsoft Update Catalog to source a clean copy.

PowerShell — step 4, pull the named components out of the log
PS C:\> Select-String -Path C:\Windows\Logs\CBS\CBS.log ` >> -Pattern 'Corrupt|MUM Missing|Total Detected Corruption' | >> Select-Object -Last 20 -ExpandProperty Line PS C:\> # the SFC-only view, exactly as Microsoft documents it PS C:\> findstr /c:"[SR]" C:\Windows\Logs\CBS\CBS.log > "$env:USERPROFILE\Desktop\sfcdetails.txt" PS C:\> # healthy-baseline inventory of the two locations DISM validates PS C:\> (Get-ChildItem C:\Windows\WinSxS\Manifests -Filter *.manifest).Count 43198 PS C:\> (Get-ChildItem C:\Windows\servicing\Packages -Filter *.mum).Count 7490 PS C:\> (Get-ChildItem C:\Windows\servicing\Packages -Filter *.cat).Count 7490 # Real counts from the Windows 11 test device. # .mum and .cat match exactly - that pairing is what "missing # replacement mum/cat pair" is complaining about when it breaks.

Step 5: rule out the codes that only look like store corruption

Before you accept "the store is corrupt," check that the code you have actually says that. Several neighbours in the SXS range point somewhere completely different, and treating them all as store corruption sends you down a rebuild path you did not need.

CodeSymbolic nameWhat it actually means
0x80073712ERROR_SXS_COMPONENT_STORE_CORRUPTThe component store has been corrupted / is in an inconsistent state. This is the one.
0x800736CCERROR_SXS_FILE_HASH_MISMATCHA file does not match the verification info in its manifest. The manifest is fine, the payload is wrong
0x800736B4ERROR_SXS_MANIFEST_FORMAT_ERRORThe manifest does not begin with the required tag and format information
0x800736B5ERROR_SXS_MANIFEST_PARSE_ERRORThe manifest contains syntax errors. A specific file, not the whole store
0x800736B3ERROR_SXS_ASSEMBLY_NOT_FOUNDThe referenced assembly is not installed on the system
0x80073701ERROR_SXS_ASSEMBLY_MISSINGThe referenced assembly could not be found
0x800736FEERROR_SXS_PROTECTION_CATALOG_FILE_MISSINGThe signed catalog for an assembly is missing. A signing problem, not metadata rot
0x80073715ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENTTwo manifests claim the same identity with different contents
0x800F080DCBS_E_MANIFEST_INVALID_ITEMInvalid CBS manifest entry — package level, not component level
0x800F081FCBS_E_SOURCE_MISSINGRepair source unavailable. Your fix failed, not your store. Supply /Source
0x800F0830CBS_E_IMAGE_UNSERVICEABLEToo damaged to repair. Stop repairing and plan a rebuild or in-place upgrade
0x800F0984PSFX_E_MATCHING_BINARY_MISSINGComponent directory exists but the binary is gone. Usually needs an in-place upgrade
0x8007371BERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETEA servicing transaction was aborted mid-flight

Step 6: decide repairable or not

Only now is the decision cheap. If /ScanHealth found corruption and named components, and none of your codes are CBS_E_IMAGE_UNSERVICEABLE or PSFX_E_MATCHING_BINARY_MISSING, repair. If /CheckHealth reports the image as non-repairable, Microsoft's guidance is unambiguous: discard the image and start again. And Microsoft's own servicing engineers noted that "a lot of CSI based issues aren't repairable without a repair install," so a stack of CSI Payload findings that /RestoreHealth cannot source is a rebuild signal, not a reason for a fourth attempt.

The fix: repair the component you named, in the documented order

With a component name in hand, the repair is short. Run DISM first, SFC second, per Microsoft's support article.

Elevated prompt — the documented repair order
C:\> DISM /Online /Cleanup-Image /RestoreHealth # Scans AND repairs, pulling replacements from Windows Update. # ~10-15 min or more. Findings land in CBS.log, not dism.log. C:\> REM No route to Windows Update, or WSUS in the way? Pin the source. C:\> DISM /Online /Cleanup-Image /RestoreHealth ^ /Source:\\fileserver\repair$\windows /LimitAccess C:\> REM Only if step 4 named a specific bad package: C:\> DISM /Online /Remove-Package /PackageName:<name-from-CBS.log> C:\> DISM /Online /Cleanup-Image /RestoreHealth C:\> REM DISM first, SFC second. Microsoft is explicit about the order. C:\> sfc /scannow # Expect one of four documented results, e.g. # "Windows Resource Protection did not find any integrity violations." C:\> REM Turn the log verbosity up if a repair fails silently. C:\> DISM /Online /Cleanup-Image /ScanHealth /LogLevel:4

The PowerShell equivalents are identical in semantics, which matters if you are driving this from a remediation script: Repair-WindowsImage -Online -CheckHealth, -ScanHealth, and -RestoreHealth -Source <paths> -LimitAccess. The cmdlet's -Source accepts multiple paths and uses the first one where the files are found.

Gotcha: WSUS is not a valid repair source. Microsoft's servicing team documented that "Windows Update or a network available WIM are valid recovery sources but WSUS installations are not," and warned that with WSUS enabled "there is a chance that your repair operations may be captured by the WSUS Servers and not be properly serviced." That is a huge share of the 0x800F081F failures that get blamed on the store. Fix it with Group Policy or with /Source plus /LimitAccess. And if you do point at a local WIM, it can only supply payloads it actually contains — a WIM at a lower patch level than the device will not repair it.

One caution on cleanup. /StartComponentCleanup /ResetBase is not a repair, and it is irreversible: after it completes, existing update packages can no longer be uninstalled. It sets LastResetBase_UTC, which was absent on the test device. Do not reach for it while diagnosing corruption — you are removing the rollback payloads you might need.

Proof it worked: four artifacts, not one exit code

"The operation completed successfully" is the weakest evidence available. Collect four things instead, all read-only, all cheap.

PowerShell — the four proof artifacts (real output, Windows 11 24H2 test device)
PS C:\> # 1. The marker is clear PS C:\> $k='HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing' PS C:\> Get-ItemProperty $k | Select Corrupt,AutoRepairNeeded,LifetimeTimesSuccessfullyRepaired Corrupt AutoRepairNeeded LifetimeTimesSuccessfullyRepaired ------- ---------------- --------------------------------- 0 0 5 PS C:\> # 2. A fresh 1013/1014 pair with a clean verdict (see step 2 output) PS C:\> # 3. The CBS.log summary reads zero across every category PS C:\> # 4. The store report itself PS C:\> DISM /Online /Cleanup-Image /AnalyzeComponentStore Component Store (WinSxS) information: Windows Explorer Reported Size of Component Store : 24.81 GB Actual Size of Component Store : 22.80 GB Shared with Windows : 8.00 GB Backups and Disabled Features : 14.79 GB Cache and Temporary Data : 0 bytes Date of Last Cleanup : 2026-08-22 13:37:36 Number of Reclaimable Packages : 21 Component Store Cleanup Recommended : Yes # This is a HEALTHY baseline. Note what it does NOT say: # nothing here reports corruption. AnalyzeComponentStore is a SIZE # report - "Creates a report of the component store" - not a health check. # 14.79 GB of backups and 21 reclaimable packages is normal servicing # history, not damage. Do not read size as a corruption signal.

Read those four together and you have an actual finding rather than a vibe. Corrupt = 0 says no marker. A fresh Event 1014 with Status: 0x0 and found 0 says a full scan validated the store, with a timestamp you can put in a ticket. A zeroed CBS.log summary says no category of corruption remains. And the store report gives you the size baseline so that next month's 22.80 GB does not get mistaken for a fault.

The one number worth internalising from that output: 14.79 GB of the 22.80 GB is "Backups and Disabled Features." That is the rollback material Windows keeps so it can undo an update and so Inbox Corruption Repair has something to repair from. The device with the tidiest WinSxS folder is the device with the fewest options when a manifest goes bad.

Finally, record LifetimeTimesSuccessfullyRepaired across your fleet. It cost nothing to read, it is the only durable counter of how often the store has needed rescuing, and a device that has quietly self-repaired five times is telling you something about its disk, its power events or its update interruptions that no single 0x80073712 ticket ever will.

References

Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Windows Update
"Component Store Cleanup Recommended: Yes" - decide with…
DISM says cleanup is recommended and admins either ignore it for years or /ResetBase the…
Windows Update
The Windows patching triage decision tree: which log, which key,…
Route each patching symptom to the one evidence source that answers it. Then learn the…
Windows Update
Rolling back a bad cumulative update: what is actually…
A KB broke something and the instinct is to uninstall it. Here is what modern servicing…