Category Archives: WED Blog

Overcoming WingetUI Hiccups

Lately, I’ve been switching between winget at the command line, and WingetUI (Martin Climent’s UI-based GitHub project). Just this morning, I observed that the CLI version didn’t see a couple of updates that WingetUI did — namely, PSGallery CredentialManager and a fresh update for the Python Interpreter (Python.Python.2). Interestingly, the source for Python does show up as “Winget.” But when I scan for updates in the CLI version it doesn’t “see” Python as out-of-date. But letting WingetUI run in the background, both updates kept failing. Thus, overcoming WingetUI hiccups took direct intervention and a bit of thought. Let me explain…

Get Busy: Overcoming WingetUI Hiccups

I’m not sure why both items failed in the background, but they did. Alas, I clobbered the error messages from WingetUI without recording them first. But when I ran WingetUI directly, the Credential-Manager upgrade went through immediately. But the Python update failed again.

Looking at the right-click options, I noticed that among its entries for individual updates, WingetUI includes a “Run as administrator” item. So I tried that next. This opened a Python update windows (which had not appeared during earlier attempts). And sure enough: it worked and the update went through.

Further Details Show Something Familiar

I couldn’t help but notice that WingetUI reported needing version 2.0.0 of CredentialManager while seeing version 2.0 already installed. I wrote about this version parsing peccadillo in my last post (Laughable Stardock Version Mixup) in connection with Start10. Here it is again, with a PowerShell Gallery element. Apparently, this happens more often than I’d noticed! This might also explain why it shows up in WingetUI and not in the CLI version: that latter runtime is incredibly careful about changing stuff when processes are running or when slight changes to the installer or runtime could occur. And indeed, Demitrius Nelon confirmed this behavior for me in an X/Twitter message last Friday, so I’m pretty sure it’s a real — if entirely trivial — thing.

As for Python, that’s a little more interesting. Looks like administrator privilege cracked some kind of access or permissions issue, and allowed the update to proceed. That’s a good “second try” technique for me to keep in my toolbox. Now that I’ve seen it work, I’m sure I’ll find occasion to use it again. Maybe you will, too!

Cheers, and welcome to a new year in Windows-World. It’s already off to an interesting start…


Laughable Stardock Version Mixup

I have to chuckle. Winget just told me to upgrade Stardock Start10 on my lone remaining physical Windows 10 PC. Why? It sees a version numbered but wants to take that package to 1.97. Of course, they are one and the same thing, and the update install fails with error code 9, as shown in the lead-in graphic. This laughable Stardock version mixup tells me there may be an issue with how version numbers get parsed and divided up inside winget’s package database.

Laughable Stardock Version Mixup: v 1.97

When I run the about screen from the version that’s actually running what you see next is what I see too. Guess what? The in-app update check confirms that 1.97 is indeed already running and the most current release. So what’s the confusion?

Laughable Stardock Version Mixup.197-already-on

Not only is 1.97 already running, in-app update says it’s current.

This is one of the little mishaps to which winget sometimes succumbs. It’s no big deal, and it’s actually kind of endearing. And it gives me something to report in to the team. Not that they’ll be short of things to do next week when the world gets back to work!

I’m guessing it will take one or two database corrections to fix this, and probably less than 5 minutes’ work. Perhaps I’ll be finding out. If I do, I’ll share here so stay tuned!


Speccy ToughBook BSOD Analysis

Here’s an interesting situation: after installing Piriform’s Speccy hardware inspection tool on the new loaner Panasonic Toughbook FZ55-3, it crashes every time I run the program. Indeed, you can see the corresponding BSOD screen in the lead-in graphic. The stop code is SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION. The culprit: the cpuz149_x64.sys driver. After some online research, my Speccy ToughBook BSOD analysis tells me that this driver is attempting PCI data access that Windows 11 disallows.

To be more specific I found an Open Systems Resources (OSR) community discussion that lays out exactly what’s going on. The datails are nicely covered in an MS Learn item. It’s named Accessing PCI Device Configuration Space, dated 3/13/2023. Essentially it  constrains developers to use the BUS_INTERFACE_STANDARD bus interface, and specific read-config and write-config IO request packets to interact with said bus. Based on its BSOD error, the cpuz149_x64.sys driver apparently fails on one or more of those counts. That made me wonder: is there a workaround?

Speccy ToughBook BSOD Analysis Says: Don’t Use That Driver!

For grins, I found the offending item in my user account’s …\AppData\Local\Temp folder hierarchy. I renamed it with a sy1 extension. Then I tried Speccy again: it still crashed. Drat! The program is “smart” enough to see the file is missing and supplies a new one. Now that folder shows the old renamed .sy1 file and a .sys replacement (with today’s data and a recent timestamp).

Speccy ToughBook BSOD Analysis.file-returns

When I rename to deny access to the current instance, Speccy supplies a new one.

That can’t work. Inevitably, the program promptly throws another BSOD. According to the Speccy forum, this happens with Memory Integrity enabled (as it is on the TB, and I want to keep it that way). This is what causes the BSOD. What to do?

If You Can’t Fight, Switch!

Fortunately, there are plenty of other freeware hardware profile and monitoring tools available. I happen to like HWiNFO64 myself. So I’ve removed Speccy and am using it instead. It is well behaved in its PCI bus access behavior and causes no BSODs.

Frankly, I’m surprised Piriform knows about this issue and hasn’t switched to a different driver (apparently, it comes from Franck Delattre over at CPU-Z, judging from its name). But boy howdy, is that ever the way things go sometimes, here on the wild frontier in Windows-World. Yee-haw!


Counting PCs versus Stars

The number of stars in the night sky might as well be infinite. We quite literally can’t count them all. But for the number of PCs in global use, we can do better. According to MS there are somewhere between 1 and 1.1 B Windows 10 PCs. Throw in another 300-400 M Windows 11 PCs. To be more accurate, MS calls them “monthly active users” which probably captures situations where one PC may host zero or more physical Windows instances, and zero or more Windows VMs, any of which must do something with an MS server in a 30-day period to get counted. But there’s more to counting PCs versus stars in the sky — namely, PCs running Mac OS and Linux.

Counting PCs versus Stars Takes More Than Windows

Copilot estimates the number of global PCs running Mac OS and Linux at around 300 M each. Thus, with the Windows global pop at somewhere between 1.3 and 1.5 B that puts the overall total at between 1.9 and 2.1 B. Sounds big, but consider that the same source (e.g. Copilot quoting Statista) estimates the global smartphone count at 6.8 B. That really puts things into perspective.

All this comes as prolog to yesterday’s coverage of a Canalys report — for instance, Martin Brinkmann’s item — that estimates up to 240M PCs may wind up getting junked after Windows 10 hits EOL on 10/14/2025. Personally, I think this is mere headline fodder. Many users who want to keep running older PCs will do so even if they don’t buy into Microsoft’s ESU (Extended Service Updates) program. Many will switch over to Linux instead.

Though some will undoubtedly get junked, I don’t think that means all such devices will wind up in landfills, either. But for those inclined to put them on the curb, I’d recommend finding a safer means and a better place for disposal. US-based readers should recall, please, that Goodwill accepts and disposes responsibly of e-waste, including PCs. And don’t forget to wipe their drives — thoroughly! — before passing them on to anyone else. If there’s no Goodwill in your area, call your local city or county trash pickup provider: they’ll probably know something useful. Cheers.


Unboxing Toughbook Then Updating Same

I just got the kind of Christmas present that delights me. Even though I won’t get to keep it, I’m having a total gas unboxing, updating and setting up the Toughbook 55 PC that Panasonic sent Friday week. It’s a “ruggedized PC” designed for field use in hazardous duty situations (military, first responders, hostile environments, and so forth). In some surprising ways, tho, unboxing Toughbook then updating same has posed some interesting challenges and roadblocks. But it’s been fun!

And I totally lucked into this situation. At the end of November, my TechTarget story “The 6 best rugged computers for business use cases” went live. Shortly after, Panasonic contacted me to share more information about their latest Toughbook model. My response: if you can, please send me one to review. It took a while, but now I’ve got one in my hot little hands. Read on for more info, in what I plan as a series of descriptions and discussions. This one covers unboxing and initial setup and impressions. Others will go into more detail.

FZ55-3 Toughbook Specs

Here’s what came with the particular model FZ55-3 I received:

  • i7-1370P (14 Cores, 20 logical processors)
  • 32 GB DDR4-3200 Samsung M471A2G43CB2-CWE
  • Integrated Iris Xe Graphics Raptor Lake-P/U  GT2
  • 512 GB NVMe SSD Kioxia KBGBAZNV512G
    (PCIe 4.0, 1.4x OPAL)
  • 14″ InfoVision Display 1920×1080 (Full HD)
  • 1 or 2 GbE Ethernet adapters (I219-LM)
  • Wi-Fi 802.11ax (Intel AX211)
  • USB 3.2 (USB-C) & 3.1 (USB Type A) ports
  • Multiple Serial ports (Com 1, 3, 4 & 6)
  • LG-BU40N Blu ray player/burner
  • Plug-ins for (1) fingerprint reader, (2) smart card reader, (3) 2 serial ports (D-9 & D-15) + PS/2 Keyboard port

As you’d expect from a MIL-STD-810H compliant device, it’s tough, all buttoned up and ready for some harsh, demanding action.

Gotchas While Unboxing Toughbook, Then Updating Same

I did run into a series of little gotchas while bringing up the Toughbook (TB), then applying WU updates, and adding some some software to put it through its paces. Here’s the current list:

1. The TB wouldn’t connect to my Asus WAP right next store to my desk on a butcher’s rack. It would, however, happily connect to the Spectrum Arris box in the master closet (25′ away).

2. As an experiment, I elected to synch my local apps, settings and so forth with those on another PC (P16 Mobile workstation) during OOBE. This quit at some point with a generic and unhelpful “Something went wrong” error message. That said, this functionality returned on a later reboot and completed successfully. Go figure!

3. Updating and downloading took longer than I’m used to (possibly because of the more distant Arris Wi-Fi connection). I eventually switched over to wired Ethernet (GbE). It still took longer to download and update stuff than I expected it to: stiffer security built-in perhaps? That would make sense for certain kinds of “digital hostility” that this unit is built to withstand. A subsequent check (LAN file transfer for an iso Win11 image) showed it could well be the NVMe SSD that’s the bottleneck. More testing will resolve this.

4. Among my various usual post-install/acquisition software items, I installed Piriform Speccy. It immediately crashed the TB as soon as it ran. Sigh. BSOD with an out-of-bounds memory error. I’ve seen this on other PCs before, it’s from unauthorized access to the PCI bus. I’m using HWinfo instead (it works fine).

Seems pretty normal for bringing up a new PC in general, especially one that’s been deliberately hardened.

First Impressions

NVMe access speeds aside, this is a fast, capable laptop. I like the display (it’s bright and easy to read). The keyboard is immediately usable with tangible key travel and good key placement. It switches between Wi-Fi and GbE with ease and aplomb. Switching from a 14″ built-in display to a remote 27″ monitor means I have to pay attention to where I leave apps I close (or leave open) — otherwise, they show up off-screen on the smaller built-in display.

A unit configured like mine costs somewhere between US$3,600 and $4,000, as far as I can tell (from online shopping comparisons). This is the kind of system that costs more, but is designed to withstand grueling and rigorous situations and uses well outside the range of usual home or office environments. So far, color me impressed…

Stay tuned! I’ll be writing more about this unit over the next month. I’m especially impressed with the TB’s swappable modules and keen attention to protecting itself from schmutz and dust. I’ll explain more later — I promise!



Working SDIO Driver Updates

OK, then. I ‘ve been living and working with Snappy Driver Installer Origin (aka SDIO) for 4 or 5 months now. It’s an Open Source project from a person named Glenn Delahoy. Snappy has a comprehensive database of drivers (I’ve run only into 4 related elements — all part of a single device, really, for which it didn’t have drivers present). In working SDIO driver updates I’ve learned how to use the program in a way that should stay inside organizational policies for acceptable use (AUPs). Let me explain

Best Ways for Working SDIO Driver Updates

Snappy describes itself as a “portable tool.” What that means is you don’t need to keep it around. In fact, because it will get you the most current software and driver database indexes (and such content as you may need), it’s best to grab a fresh ZIP file each time you want to use it.

When you run the exe file (full name for 64-bit version: SDIO_x64_R759.exe), you must accept its license terms. Then you’ll see the screen that shows up in the lead-in graphic above. Note that it provides buttons labeled as follows:

  • Download All Driver Packs
  • Download Network Drivers Only
  • Download Indexes Only

Working Through The Buttons

These require some explanation. The first button (All …) speaks to SDIO’s architecture as a BitTorrent distributed environment. All Driver Packs come in at around 60GB, and by downloading them, you open the door for the host PC to act as a Torrent server for other users who wish to access the Snappy Driver databases. Because this violates every AUP I know of, don’t do this at work.

The second button (Network…) downloads driver packs for networking stuff so that PCs that lack drivers for wired or wireless Ethernet, Bluetooth, and so forth, can be “fixed” to access their local and other networks. You probably won’t need this, but it might come in handy sometime. Keep it in your hat…

The third button (Indexes…) involves an 18 MB download with the info that Snappy needs to  (a) identify all the drivers it recognizes on PCs on which its run and (b) find a match in its driver packs or report a driver it lacks. As I said before, I’ve seen missing drivers come up only one machine of the dozens I’ve used it on since last August (2023). That’s ultimately why it’s my go-to button in SDIO.

How I Use Snappy Could Tell You Something…

I use Snappy on my PC fleet once a month. I visit the maker’s page, where you will always find a link to the current version and database. I remove older versions from my Snappy folder, unZIP its ZIP file, and run the 64-bit version. After accepting the license terms, and selecting the “Indexes” button it tells me if I need any driver updates on the target PC where it’s run. Mostly I get a screen that looks like this:

Working SDIO Driver Updates.drv-up2date

With four months of regular use, I mostly see “Drivers are up to date” on Windows PCs.

It doesn’t bother me to get mostly “up to date” reports from Snappy. Indeed, that’s what I hope it will tell me. If the tool finds any drivers in need of update they will show up as a list in the upper-right quadrant. Simply by clicking Install(x) — where x is the number of out-of-date drivers Snappy finds — you can get it to catch that PC up with where Snappy thinks it should be.

So far, my results from using Snappy have been uniformly positive. I’ve not encountered any driver related issues since I started using it regularly a while back. That’s the basis for my coverage and (still-tentative) recommendation. Try it out — you may learn to like it, as have I.


Winget Show URLs Are Live

Wow! I got a great, unsolicited tip from Demitrius Nelon yesterday (he’s the winget team lead at MS, and a great communicator). It explains a way to grab the download for any package that winget can find. It came up in the context of updating the package named Microsoft.PowerShell, but it will work for any package by name. He informed me that if you run winget show, it will include an installer URL. I knew that. What I didn’t know and am jazzed to learn, is that you can CTRL-click the link and it will fire up your default browser and download it. That’s what “Winget Show URLs are live” means.

Because Winget Show URLs Are Live, Use Them!

This comes up in the context of PowerShell reasonably often for me, because I run PowerShell as my default shell inside Windows Terminal. Alas, when some new PowerShell updates pop up, winget can’t install them because their “install technology” changes. That’s because winget is inherently conservative when updating, and won’t make big changes on its own. Thus, for example, when an install technology change hits PowerShell, one must then download the new version from GitHub and run the installer to make the update.

Look near the bottom of the lead-in screengrab, which shows the output for “Winget show MIcrosoft.PowerShell.” It’s the section that starts with “Installer:” at left. 2 lines down the label reads “Installer Url” with the actual github download link to its right. If you hold the CTRL key down and click on that URL, download will commence.

This is about as handy as updates get when winget won’t do them for you automatically. Shoot! It makes a pretty good alternative to winget install <package-name>, too. Thanks, Demetrius: this tip makes a snazzy stocking stuffer. Happy holidays!


Hello Default Blocks Enhanced Mode Login

Here’s an interesting Catch-22 — for me, anyway. If you want to move data into or out of a VM easily, you must run that VM in an”Enhanced session.” OTOH, if you run a VM in that mode, you can’t login. First, you must tweak a setting with the Enhanced session turned off for the moment. Why? Because a Hello default blocks enhanced mode login unless it’s turned off. Let me explain…

Unless Turned Off Hello Default Blocks Enhanced Mode Login

If you look at the lead-in graphic, you’re also looking in on a VM window via an RDP session. You can see the pull down menu from the control bar shows its “Enhanced session” setting is enabled (blue checkmark against light blue background).

Unfortunately, because of Windows OS defaults upon installation, a VM will also have the Settings → Accounts → Sign-in options set with “Require Windows Hello sign-in for Microsoft accounts” turned on. Alas, that means the Enhanced session VM window will come up, but it won’t respond to the mouse or keyboard to show a login prompt with its PIN or password text entry box. You can’t login under these circumstances until you uncheck the “Enhanced session” item, log in to the VM, then visit Settings and turn off the afore-mentioned Hello sign-in requirement. Once that is done, you can turn the Enhanced session back on, and it will work just fine to let you login. Go Figure!

See the Setting Info…

Here’s a screencap of the “Require Windows Hello…” stuff from Windows 10. The one in Windows 11 is virtually the same.

If you are like me, you use both RDP and VMs together regularly. That means this little maneuver is a useful and necessary part of post-install set-up/clean-up.


Fixing Windows 11 Boot Loop

Last Friday, we picked son Gregory up at the airport: he’s home for the holidays from college. That evening, he mentioned his laptop — a 2019 vintage Lenovo ThinkPad X390 Yoga — was “stuck on updates.” Boy, was he ever right: i found myself fixing Windows 11 boot loop as the machine hung after the post-GUI reboot in attempting to get through the 23H2 feature upgrade. Stuck, stuck, stuck indeed.

Fixing Windows 11 Boot Loop Takes Thought & Recall

As soon as I turned the PC on, I could tell it was cycling on processing updates. It just couldn’t seem to get past the spinning circle stage after the initial reboot. Multiple tries later — 3 of them, to be exact — the Windows bootstrap facility presented me with the recovery menu. “Aha!” I though “now I’m getting somewhere…”

Of course, then I had to remember to turn off secure boot in the UEFI so I could actually transfer control to a bootable WinRE environment on a flash drive (UFD). Startup repairs didn’t do it. The Macrium Reflect Rescue Media’s “fix boot problems” didn’t do it, either. But when I stuck the DaRT (Diagnostics and Recovery Toolset) UFD into the machine it finally got through a boot-up to alternate media.

On the next reboot, Windows recognized it was stuck in the middle of a failed update. It then commenced rollback to the previous 11 version and reached the desktop. At that point, I was able to run another Reflect backup (I did), and then start rolling forward again.

All’s Well That Ends Well

The pending Cumulative Update completed successfully, and rebooted correctly. I then fired off the 23H2 upgrade and crossed my fingers. This time, it completed without a hitch. The X390 is now fully caught up, cleaned up and has been backed up one more time.

I’m not sure what caused the first 23H2 attempt to hang in a boot loop, but it didn’t fall prey to that again. I think it may have been the attempt to apply the CU, then the 23H2 upgrade, in a single go. This time around, I made sure to reboot after the CU, before attempting the 23H2 upgrade.  By the time I worked through all the steps, the whole shebang took about 2 hours to fix. We were all glad when it was done — me, especially.


Final 2023 Insider Channel Flights

It’s a consistent pattern. I’m looking at the most recent “flight announcements” in the Windows Insider blog. All of them include this sentence: “This will be our last <Name> Channel flight until January 2024” where <Name> is one of: Canary, Dev or Beta. The most recent instance popped on December 14. Its header appears as the lead-in graphic above.

Why Say: Final 2023 Insider Channel Flights Are Out?

Beyond the flat assertions from MS indicating they’re on pause until after New Year’s, I’ll observe this is a typical thing for Windows development. It’s been ongoing as far back as I can remember. Indeed, it usually hits in the 2nd or 3rd week of December, before the major end-of-year holidays get going in earnest.

This makes pretty good sense to me. Productivity usually slumps between December 20 and January 3 or 4 (depending on what day of the week New Year’s hits — next year it’s a Monday). MS is smart to call a hiatus by the middle of the month, to give everybody time to gear up for, and then recover from, the hollidays. Most other businesses (except those in leisure and hospitality) tend to do likewise.

Take a Deep Breath, And …

Indeed, I just wrote my last weekly blog/column for GoCertify yesterday (it will publish Monday). And I’ve noticed the pace of work will be letting up with the websites and publications I write for starting next week.

Does this mean I’ll be taking a break from this blog, too? Yes and no. I probably won’t blog on December 24 and 25 or January 1, but other than that it should be close to normal as it ever gets here at Chez Tittel. I should have more time to fool around with my PCs, so I should find plenty of stuff to share. Do stay tuned if you’re so inclined, but I hope you’ll have time to enjoy the end-of-year break in your own special ways. Cheers!