Category Archives: Windows Update

Production Switchover Produces Unexpected Speed-up

Over the past week, I’ve switched two older PCs from Insider Preview to Production builds. For the record, the X380 is a 2018 vintage Lenovo ThinkPad X380 Yoga, while the X12 is a 2021 vintage Lenovo ThinkPad X12 Convertible Tablet Gen 1. Happily, this production switchover produces unexpected speed-up for both machines across the board. Let me tell  you more…

Why Production Switchover Produces Unexpected Speed-up

MS has been on a bit of a tear lately, trying to repair its user credibility and brand image for Windows 11. Industry observers have noticed and published stories like these:

My usual response to such coverage is “Yeah, right, sure…” (delivered with an eye roll and a skeptical tone of voice). But this time, it’s possible that the coverage is both apt and accurate.

What Improvements Might One Find in 26H2?

After the switchover from Beta (X380) and Insider Preview (X12) builds on those PCs to mainline 26H2 (Build 26300.9711 as I write this). I’ve noticed snappier response and quicker completions across the board on both machines. Some of this, says Copilot (and I agree) is simply a natural outcome of switching from a more heavily instrumented and closely monitored Insider release to a more streamlined and less tarted-up production release.

But there’s more. I am seeing noticeably faster performance on both PCs including:

  • Improved system responsiveness
  • Faster app launch times
  • Faster File Explorer
  • Lower RAM usage
  • Reduced latency in UI interactions

Case in point: I just ran winget upgrade -all --include-unknown on both PCs and they ran updates on CrystalDiskInfo, WinScript, CoreTemp and (as shown) MS.Gameinput. All did their work — checking the manifest, showing the update list, then performing the individual updates — enough faster than their previous usual that I noticed an improvement.

Same thing goes for app launches, installs and uninstalls outside of WinTerm. As old as these two machines are, I feel like they’ve gained a new lease on life. Here in Windows-World, that’s a win! Maybe I didn’t shoot myself quite as badly in the foot with the “Let’s try Installation Assistant and see what happens” experiment on these PCs as I had originally feared. Woo-hoo!

Facebooklinkedin
Facebooklinkedin

Correction: Installer Repairs Windows Images

Last Tuesday I incorrectly claimed that the Windows 11 installer upgrades Insider Previews. As I have now figured out, with some useful input from Copilot, it actually repairs those images. Had I actually tried to “upgrade” them, it would have failed. But I now know that the installer repairs the target image it’s run against. That’s the basis for my corrected assertion — namely, that the Windows 11 installer repairs Windows images. Let me explain.

Explaining Installer Repairs Windows Images

Simply by updating the Installer using Winget, it launches that app. When I allowed to proceed further, it was on me to halt things or let them proceed. Windows Setup (which runs inside the Installer, from a downloaded ISO) checks the following data:

  • Windows edition (Pro, for both X380 and X12)
  • Major version (Windows 11)
  • Feature Update family (26H2)

Indeed, Setup.exe permits a repair install to go ahead even if one or more of the following conditions is true

  • The installed build is newer (false)
  • The installed build is Insider (true)
  • The ISO build is older (false)
  • The ISO build is production (true)
  • The device remains enrolled in the Insider program (true)

Copilot’s summation “Setup does not block this build because a repair install is not considered a downgrade” (emphasis mine).

NOW I Get It…Finally!

I didn’t understand that Setup.exe could cross the Insider/Production boundary. It can, as I’ve now demonstrated to myself on two former test PCs. I’m going to promote two newer machines — RyzenOfc and AsusSnap to Insider versions — and leave these older machines on production builds. To that end, I’ve toggled the “Unenroll” switch on each of them.

Call this a lesson learned for yours truly. It’s not a mistake I will repeat. I tried it out to see what would happen. Now I understand how and why to steer myself around this pothole. And in a cack-handed fashion, it’s another way to pull a PC back from Insider status without a clean install. I’m still deciding if I like it or not: stay tuned, and I’ll tell you after I live with it for a whiile…

 

Facebooklinkedin
Facebooklinkedin

26H2 Installer Upgrades Insider Previews

Here’s something weird and interesting. In the wake of yesterday’s actions around updating the Installation Assistant, I discovered that 26H2 installer upgrades Insider Previews. At least, I’ve tried it on Beta and Insider Preview channel PCs and it’s worked. Thing is, those machine now show up as both 26H2 and still enrolled in the Beta channel, as you can see in the lead-in graphic.

Once 26H2 Installer Upgrades Insider Previews, Then What?

Good question. WU isn’t handing them the 2026-09 Preview Update (KB5124010) (26200.9550). They don’t show up under WU > Advanced Options > Optional Updates, either. I’m starting to wonder if my experimental maneuver might not have orphaned these Windows images.

BUT: today is Patch Tuesday. Copilot thinks that today’s mandatory CU will “take” on these installs. I won’t know until noon, local time (10 AM PDT, GMT -07:00). If it works, these installs aren’t orphans. If it doesn’t I may have to visit UUPdump to build a custom ISO to try another in-place repair install to catch up again.

I’m hoping I haven’t painted myself into another corner. That’s not an unfamiliar place for me to find myself, here in Windows-World. I’ll find out later today, and update this post accordingly. Sigh: it’s always something, right?

Après moi, le déluge…

Looks like WU is working the same on the updated Insider Preview PCs as on the mainline production models. All are offered the same four updates: KB5127694, MSRT, KB5130036 and KB5130034. So they’re not stuck. What they are, exactly, is still TBD. Interesting!

Now I know: KB5127648 is the key ingredient. WU doesn’t proffer it to my holdout PCs (the X12 and X380 upgraded to 26H2 thru in-place repair install). But I can grab it from the Update Catalog. Applying on both PCs right now (it’s a big’n: ~4.5GB). Takes a while to complete, But then “Something didn’t go as planned” and back into the previous state. Something ain’t right: I’ll be digging in.

Facebooklinkedin
Facebooklinkedin

Updated Installation Assistant Covers 26H2

On the still-working 2018 vintage Lenovo ThinkPad Yoga X380, WinGet delivered a new Windows 11 Installation Assistant this weekend. “Hmmmm,” I wondered to myself, “does this version incorporate the latest release?” It doesn’t really say in the update info shown in the lead-in graphic. But yes, this updated Installation Assistant covers 26H2. I’ll show you visual proof.

QED: Updated Installation Assistant Covers 26H2

And indeed, WinGet itself provides the proof. Notice the ID for this tool is “Microsoft.WindowsInstallationAssistant.” By happy chance, using that string with WinGet show includes “26H2” in its “Release Notes” field, to wit:

Release Notes identifies the installer as 26H2. {Click image for full-size view]

Copilot Leads Me In Another Direction

Officially, the Installation Assistant isn’t compatible with Insider Builds. And, as fate would have it, the X380 was running a 25H2 Beta build. Interestingly, the Installation Assistant runs: it downloads and installs 26H2 (and hangs forever at the 46% complete mark. but completes OK).

At first, Copilot says it doesn’t work “Assistant refuses all Insider builds.” But for both Beta and Insider Preview builds (26220.xxxx branches), it ran on both my X380 and on my Lenovo ThinkPad X12 Hybrid Tablet Gen 1. But first, I had to run PC Health Check even though both PCs were already running Windows 11. But in continuing along the install path after that detour, Installation Assistant showed me a new way to work around the typical bar on upgrading Insider builds using Production Windows images.

I’ll blog again tomorrow, and explain what happened on each machine, and where I wound up. It’s a surprising turn of events — to me, at least — here in Windows-world. Normally, this bar holds hard and fast. But the latest 26H2 installer may be an exception. Stay tuned: should be fun!

Facebooklinkedin
Facebooklinkedin

WU Offers Win11 26H2

OK, then. After reading numerous Windows rumors that the latest Windows version might drop today, I just ran the update check on WU. As you can see in the lead-in graphic, it’s offering qualified systems (including Flo6, P16, RyzenOfc and D7080) this item as the “Windows 11 2026 Update .” As WU offers Win11 26H2, that info provides the lead-in graphic for this very blog post.

When WU Offers Win11 26H2, Then What?

If you’re like me and love living on the edge, you’ll install it right away. If you’re in a corporate or other gated environment, you’ll bring up in a testbed first to see if it breaks anything. Given that this is another “enablement package” most of what’s coming is already here. And if last year’s 25H2 eKB (enablement package KB update) is any indicator, the whole experience should be pretty fast and painless.

Today’s Windows Experience blog post, from MS Product Mgmt VP John Cable, is entitled “How to get the Windows 11 2026 Update.” Appearances to the contrary in the title aside, it basically says “Comes to eligible devices via WU.” No download links, or anything like that. Fortunately, Shawn Brink’s covering post at ElevenForums provides x64 and ARM64 links to the eKB. Good enough for me!

The eKB Experience on AsusSnap

Because WU didn’t offer the eKB to my Snapdragon X Asus Zenbook A14 (aka AsusSnap), I grabbed the ARM64 download to try it out. It’s zipped and tiny (172KB compressed; 175K for .msu file). It completed in under 30 seconds on the target PC, and the reboot was pretty speedy, too. Shows up as Build 26300.9550 after the update:

Seems like mostly a no-brainer. Thus, I’m bidding adieu to 25H2 and saying hello to 26H2. Check it out: you may decide to do likewise!

 

Facebooklinkedin
Facebooklinkedin

Doing the Recovery Drive Rebuild

If you’ve been following Microsoft’s ongoing Secure Boot shenanigans, you already know the company has been rolling out a series of Secure Boot certificate revocations. This is a deliberate effort to invalidate boot signatures tied to older, potentially vulnerable boot components. The practical consequence is both important and easy to overlook. Boot media you created even last month may now carry BANNED boot files. That’s what had me doing the Recovery Drive rebuild this morning, in fact. Let me explain…but first look at the lead-in graphic from Garlin’s check_bootmedia script to see why I’m doing it.

Why I’m Doing the Recovery Drive Rebuild

The lead-in screencap shows the results of the Garlin script against the Recovery (G:) disk I built after last month’s Patch Tuesday (August 11). As you can see, it’s sadly out of date, BANNED across the board.

Alas, after this month’s Patch Tuesday (September 8) the G: drive features a boot manager or Windows Recovery Environment image signed with certificates that  on Microsoft’s revocation list. On a fully-patched system with current DBX (Forbidden Signatures Database) entries loaded into firmware, that old recovery drive simply will not boot.

It fails Secure Boot validation with a “Secure Boot Violation” error from UEFI, leaving you with nothing but a blinking cursor when you need help most. Fortunately, a community member named Garlin created a PowerShell script called check_bootmedia.ps1 that diagnoses your boot media in seconds and tells you exactly which files are ALLOWED and which are BANNED. I’ve been running it across machines in my lab, and the results on my production desktop (named) Flo6 tell a very clear story.

Before the Rebuild: BANNED Rules!

Working from last month’s Recovery (G:) UFD, I ran Garlin’s check_bootmedia.ps1 against it. The output was unambiguous,but not in a good way. It appears as the lead-in graphic above. Indeed, this script reports that Flo6’s existing recovery drive is running WinRE.wim at build 26100.9168, with a File Version of 28000.352 and a SVN (Security Version Number) of 9.0. Every boot file examined — the boot manager and the WinRE image alike, comes back flagged as BANNED.

That designation is not positive: it means those files carry Secure Boot signatures that Microsoft has since explicitly revoked. Any PC with current DBX entries loaded into its UEFI firmware would refuse to execute those files at boot time. In other words, if Flo6 hit a serious failure tomorrow and I reached for that recovery drive, it simply wouldn’t boot on a fully-patched machine. Not acceptable!

After the Rebuild: ALLOWED Everywhere

I rebuilt Flo6’s recovery drive using the built-in Windows “Create a recovery drive” wizard. This requires no third-party tools, nor manual WIM manipulation, just theRecoveryDrive.exeutility. Once that process finished, I ran check_bootmedia.ps1 again. Take a look:

Everything that was BANNED before, is now ALLOWED. Good!

The transformation was total. The new drive reports WinRE.wim build 26100.9444, File Version 28000.367, and SVN 11.0. Every boot file now shows ALLOWED. The drive is clean, current, and will boot cleanly on any fully-patched Secure Boot system. The SVN jump from 9.0 to 11.0 is especially noteworthy: that’s two full security version increments, reflecting two distinct rounds of certificate revocations that have rolled through since the original image was created. Each SVN increment represents a deliberate decision by Microsoft to bar an entire generation of signed boot binaries from executing. Flo6’s old drive had missed both of them.

Why Did This Take SOOOOOOOOOO Long?

The recovery drive rebuild on Flo6 took well over an hour. If you’ve ever watched the progress bar crawl through a drive creation and wondered whether something was wrong, the answer is almost certainly: no, this is normal. Sigh. Here’s why.

These three main contributors to that long interval are worth understanding:

  1. USB write speed. Flo6’s target drive is a SanDisk SDC2340 UFD. Even though it’s a USB 3.x device, flash writes, especially the large, sequential writes that a WinRE.wim deployment demands  are constrained by the drive’s NAND controller throughput and its write-endurance headroom. Consumer-grade flash storage routinely delivers sustained write speeds at a fraction of the peak specifications. Those rated speeds represent brief burst perfor-mance under ideal conditions, not multi-gigabyte sequential writes the wizard performs.
  2. WinRE.wim compression and decompression. The Windows Recovery Environment image is stored in compressed WIM format. The wizard decompresses it, processes its contents, and then recompresses it to the target drive. That’s a full double-pass operation.Thus, it’s CPU-intensive on the decompression side, and I/O-intensive on both sides. This step alone accounts for the majority of the elapsed time on most systems.
  3. Verification. The wizard doesn’t just write and walk away. It verifies written blocks after the write completes. That adds another full sequential read pass across the whole drive. On a slow UFD, that additional pass adds 15 to 25 minutes by itself.

On a faster USB 3.2 Gen 2 drive with a quality controller (something like a Samsung Flash Drive or a Kingston DataTraveler Max)  the same operation takes 15 to 20 minutes. On Flo6’s SanDisk SDC2340, over an hour is entirely too normal. Slow, but not broken.

Check Your Boot Media!

Here’s my recommendation. After any Windows Update CU, run Garlin’s check_bootmedia.ps1 against every bootable UFD you have.  A recovery drive that passed muster six months ago may now carry BANNED files. That’s because the DBX doesn’t stop growing, and Microsoft shows no sign of slowing its revocation cadence.

The fix, as Flo6 demonstrates, is simply to rebuild. It costs you a USB drive, an hour of clock time, and nothing else. Flo6 is my production desktop, but the same process and the same stakes apply to every Windows 10 and Windows 11 PC you manage.

Maintaining a current, bootable recovery drive is table-stakes Windows hygiene. Also, it’s the kind of thing that feels unnecessary right until it’s the only thing that matters. Now, thanks to Garlin’s script, you have a fast, reliable way to prove yours is good. There’s no excuse not to check. Here in Windows-World, I call those “marching orders.” Start walking…

Facebooklinkedin
Facebooklinkedin

Long DISM Pause at 63% Range

I’ve been reading online at ElevenForum about people having issues with DISM ... /restorehealth on Build 26100.8972 and 26200.8972. Naturally, I had to check to see if I fell into that same boat. On the plus side, none of my machines at that build level threw an error for the command. On the minus, I observed a long DISM pause at 63% range in completing the sequence that stretched to 70% and a bit more. Copilot tells me this is the stage during which DISM downloads files needed to repair questionable items found in the component store.

Varying Times for Long DISM Pause at 63% Range

The lead-in graphic shows a completion time of 22m 55.301s for the command on my Flo6 desktop (MSI B550 mobo, AMD Ryzen 7 5800X, 64 GB RAM, RTX 3070 Ti). Other intervals I recorded include:

  • 13m 33.008s on AsusSnap (Zenbook A14, SnapDragon X Plus X1P-42-100, 16 GB RAM, Adreno graphics)
  • 8m 36.148s on Lenovo ThinkStation P3 Ultra (Core Ultra 9 285, 64 GB RAM, RTX 4000 SFF)

In this admittedly small sample, I see a strong relationship between CPU speed and completion time. That tells me there’s a lot of thinking going on while the /restorehealth operation is underway. Download volumes were all consistently in the 3-4GB range, as measured by download values from the Network Meter gadget from GadgetPack.

Skip WU, Try ISO

Copilot suggests further that pointing the /restorehealth command at a local ISO could speed things up. But it also says that “the ISO build must match 26200.x [the reference/focus build] closely.” The only way to do that right now is to build an ISO using UUPdump.net to match the 26200.9278 build all 3 PCs are running. That can easily take an hour or longer. My total time for all 3 was under 46 minutes.

Here in Windows-World, if you don’t pay (or spend time) one way, you’ll almost always spend it another. I took the WU route, and was glad all those DISM ... /restorehealth commands completed successfully. That’s good enough for me!

 

Facebooklinkedin
Facebooklinkedin

Version 26H2 Coming Soon Via eKB

If you’re running Windows 11 24H2 or 25H2, the next annual upgrade aka Windows 11 26H2 is almost here. For many users, the upgrade experience should be pretty low-key. Microsoft pushed Build 26300.9278 into the Release Preview Channel on August 27, 2026. That signals general availability (GA) is on track for September or October. Hence my proclamation about Version 26H2 coming soon via eKB. What’s that?

Qualifying devices won’t sit through a multi-gigabyte download or a lengthy offline install. Instead, they’ll receive a tiny enablement package (eKB) that flips the version number after a single restart.

TLDR: Windows 11 26H2 (Build 26300.9278) is in Release Preview now and coming this fall. It lands as a ~174 KB enablement package (KB5121794) for 24H2 and 25H2 users. Windows 11 23H2 and older face a full ~6.5 GB feature update. Windows 10 users, of course, need a full OS upgrade. And 26H1 (the Arm-only branch) has no standard eKB path to 26H2 at all. For them, a clean install is the only way to go forward.

What Is an Enablement Package?

An enablement package (eKB) works because 24H2, 25H2, and 26H2 share the same underlying servicing branch and codebase. Most of what defines 26H2 has already been delivered to your PC through monthly cumulative updates. Indeed, the eKB simply activates it, changes the build string to the 26300 series, and reboots. The download for KB5121794 weighs in at around 174 KB, and is smaller than most web images. One prerequisite: your system must already have KB5120998 (Builds 26200.9278 or 26100.9278) installed before the enablement package can run. A quick visit to Settings > Windows Update confirms if you’re current (or not).

As Paul Thurrott reported on Thurrott.com, for the first time, Microsoft is releasing a new Windows version to the Insider Release Preview ahead of general availability. That’s a sign that the company wants broader validation before the full rollout. The official announcement comes from Stephen Lines via the Windows Insider Blog.

Upgrade Paths: Know Where You Stand

Your path to 26H2 depends entirely on which version you’re running today. This table lays things out:

Current Version Upgrade Method Download Size Restarts
Windows 11 25H2 Enablement Package (KB5121794) ~174 KB 1
Windows 11 24H2 Enablement Package (KB5121794) ~174 KB 1
Windows 11 23H2 Full feature update (different servicing branch) ~6.5 GB Multiple
Windows 11 26H1 (Arm) Separate core branch — no standard eKB path N/A N/A
Windows 10 Full OS upgrade or clean install ~6.5 GB+ Multiple

As TechPowerUp’s AleksandarK noted, devices on 23H2 and older sit on a different servicing branch. Thus, there’s no eKB shortcut for them. And 26H1, built specifically for new Arm silicon such as Snapdragon X2 Elite devices, runs a separate Windows core and won’t roll forward via the standard enablement path. Microsoft has said those devices will eventually receive a path to a future Windows release. Those who wish to jump that gun must, as I said earlier, do a clean install.

What 26H2 Actually Delivers

Let’s be blunt: 26H2 is a stability and lifecycle-reset release, not a features spectacular. Thanks to Microsoft’s continuous innovation model, most of what carries the 26H2 label has already landed on your device via monthly updates. That said, commercial customers do get a handful of features enabled by default for the first time: Windows Settings Backup, app-specific Taskbar actions, and several File Explorer enhancements.

The bigger prize is the support lifecycle reset. That is, 24H2 Home and Pro reach end of updates on October 13, 2026. Thus, upgrading keeps you beneath the security update umbrella.

How to Get It Now

Windows Insiders in the Release Preview Channel can grab 26H2 today via Settings > Windows Update using the seeker experience (enable “Get the latest updates as soon as they’re available”). For everyone else, wait for GA. At that time, Microsoft will offer 26H2 as an optional install first, then push it automatically as 24H2 nears its support deadline. If you’re still on 23H2 or older, the smartest move right now is upgrading to 24H2 or 25H2, so that when 26H2 arrives, it costs you 174 KB and one reboot instead of a 6.5 GB weekend project.

Here in Windows-World, it’s wise to get ahead of the curve when the opportunity presents. This is one such opportunity. I plan to jump on it as soon as I can!

Facebooklinkedin
Facebooklinkedin

The Incredibly Bogus MSI BIOS Update

Windows Update pinged me yesterday, August 18, with a firmware notification: my MSI motherboard had a BIOS update available. My reaction was less “Great, let me install that…” and more “Wait! I just did.” The week before, I’d downloaded MSI’s latest BIOS package, copied it to a FAT32 USB drive, booted into MSI’s M-Flash utility, and flashed the thing the old-fashioned way. It worked perfectly. So why was Windows Update acting like none of that had ever happened? Thereby hangs the tale of the incredibly bogus MSI BIOS update. Here goes…

Hunting Down the Bogus MSI BIOS Update

The “bogus” here isn’t the update itself. Indeed, Windows Update found it and sought to deliver it. What was bogus was any awareness on WU’s part that I’d already installed it. When I flashed the BIOS using MSI’s UFD-based utility, that transaction happened entirely outside of Windows. No registry entry. Windows Update history records missing. No UEFI firmware capsule delivery for WU to track. As far as Windows Update was concerned, the update had never been applied, and it was doing its best to make sure I got it.

I confirmed the BIOS version in the UEFI settings. Indeed, it matched the version WU was offering. I checked Windows Update history: no entry for the flash, naturally. Optional updates, Driver updates: WU really wanted me to install this update. So I did, and of course it failed because MSI is smart enough to refuse a second install of the same UEFI version (I’ve had this happen on Lenovo PCs/laptops as well).

WU Remains Oblivious to OOB BIOS Updates

Windows Update tracks firmware updates it delivers itself. Typically, they come via UEFI firmware capsule updates. Those hand off to the firmware installer, and WU records the update in its history database. When you flash a BIOS using a manufacturer’s standalone tool (e.g. MSI’s M-Flash, a DOS-based utility, or a UFD flash from UEFI) Windows is completely out of the loop. There’s no handshake, no callback, no “hey, Ed already did this” signal.

The result: WU sees the target BIOS version, compares it against its own records (which show nothing). It concludes the update is needed. It’s not wrong, exactly. It just doesn’t know what it doesn’t know. And because the update failed anyway (I couldn’t figure out how to kill the pending item before it was applied, even with Copilot’s help) it appeared every time I checked updates in WU.

Until I hid the update it kept trying and failing to install after a mandatory restart. Vexatious!

PSWindowsUpdate Hides the Bogus Offer

For this case, the solution wasn’t to install the update again. Reflashing a BIOS that’s already current is unnecessary and might cause problems. The goal was to tell Windows Update, in terms it would respect, to quit offering that item. That’s a job for the PSWindowsUpdate module from the PowerShell Gallery.

I imported the module, enumerated all pending updates to confirm the BIOS entry was there, and then hid it. The complete sequence is in the lead-in graphic, but here it is in text form for easy access (info following # is purely descriptive and need not be entered):


Import-Module PSWindowsUpdate #Invokes PSWU cmdlet set
Get-WindowsUpdate -MicrosoftUpdate #Calls WU for upd chk
Hide-WindowsUpdate -Title "Micro-Star..." #Hides MSI upd

You can use the Title or the KB number for an update to block it. Then you can use the Get-WindowsUpdate -MicrosoftUpdate -IsHidden cmdlet to show you if your efforts succeeded.

Problem Solved, Mostly

After running Hide-WindowsUpdate, Windows Update stopped flagging the firmware update. No more notifications, no more badge on the WU icon, no more politely worded insistence that I was a BIOS version behind. A quick recheck of Get-WindowsUpdate showed a clean list.

One thing: hiding an update using PSWindowsUpdate is reversible. You can unhide it later with Show-WindowsUpdate if you ever want WU to see it again. And if you’re in the opposite situation (WU is offering a BIOS you genuinely haven’t installed), the Install-WindowsUpdate cmdlet handles that well. Either way, PSWindowsUpdate gives you control that the standard WU interface simply doesn’t.

Here in Windows-World, it’s always something. This time, it was a weird and unwanted BIOS update. Whatever it may be next time, count on me to tell you about it, and how to work with, through, or around it as circumstances might require. Cheers!

Facebooklinkedin
Facebooklinkedin

Pending Update Hangs WinGet

Yesterday was Patch Tuesday (Aug 11), so I got a change to watch something go down I’d  not yet seen. Just before lunch, I fired off a quick winget upgrade --all --include-unknown. I figured it would chew through those updates in time for me to switch to sandwich construction. Wrong! Instead, WinGet got stuck and sat frozen, spinning its wheels on a package install. Only slowly did it dawn on me I’d just gone through the monthly update cycle. Further inspection showed … sure enough … a pending update hangs WinGet (or rather, a pending restart from said update gums up the works). Let me explain…

Why Pending Update Hangs WinGet

The most common culprit is a prior installation that never cleanly resolved or completed. Windows Package Manager tracks install state in its internal database, and if a previous run was interrupted (by a power cut, forced close, network drop, etc.) that package can stay flagged as “installing” or “pending.” As a result, subsequent upgrade attempts collide with that ghost state and stall out.

In addition, App Installer (Microsoft.DesktopAppInstaller) itself may be out of date. WinGet is delivered as part of App Installer via the Microsoft Store, and an outdated build can exhibit hang behavior. That goes double after a major Windows update reshuffles underlying framework dependencies. Therefore, ruling out a stale WinGet client is always step one before you go deeper.

Source index staleness is another common trigger. WinGet pulls its package catalog from indexed sources. When those indexes go stale or become partially corrupted, upgrade queries can time out or loop indefinitely. Finally, UAC and permission conflicts can silently block the installer process. This happens mostly often if you’re running without elevation or if a previous elevated session left a lock on a staging directory. Watch for exit code 0x8A15000F (installer still running). That’s Windows Package Manager’s way of telling you it thinks something is already in flight. (See the WinGet exit codes reference for deets.)

What happened to me yesterday was that the pending restart left some unresolved packages in limbo, including the AppInstaller itself. A quick restart took care of those gotchas, and allowed WinGet to do its thing unimpeded.

Fixing a WinGet Pending Update Hang

Work through these fixes in order. Each one resolves a progressively deeper layer of the problem, so start at the top and stop as soon as WinGet is moving again.


winget upgrade --all --include-unknown
winget source update
Install-PackageProvider -Name NuGet -Force Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery Repair-WinGetPackageManager -Force -Latest
winget upgrade --id --silent
winget source reset --force

And, of course, if it’s Patch Tuesday, or some kind of Windows Update has been applied recently, check for an restart notification first. If one is pending, get it out of the way. That’ll keep it out of WinGet’s way, too. Here in Windows-World, it never pays to overlook the obvious. Cheers!

Tip: Check the Logs
When a hang is stubborn, the logs will tell you exactly where the process is choking. Run winget --info to find your log directory, or navigate directly to:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_
8wekyb3d8bbwe\LocalState\DiagOutputDir
(reassemble onto single line to cut'n'paste, or do like me and point Everything at DiagOutputDir).
You can also append --logs or --verbose-logs to any WinGet command to capture a full diagnostic trace of that specific run.

Facebooklinkedin
Facebooklinkedin