All posts by Ed Tittel

Full-time freelance writer, researcher and occasional expert witness, I specialize in Windows operating systems, information security, markup languages, and Web development tools and environments. I blog for numerous Websites, still write (or revise) the occasional book, and write lots of articles, white papers, tech briefs, and so forth.

Appreciating Microsoft’s Update Ecosystem

As part of my daily Windows routine, I run the winget package manager to keep most of my applications up-to-date. Occasionally, I’ll also check in on the MS Store to see what it’s been finding and updating on its own. As the spirit moves me, I sometimes click the “Get updates” button to spur its actions along. I find myself appreciating Microsoft’s update ecosystem more and more (yes, even WU) as I work with it constantly. Let me explain…

Why I’m Appreciating Microsoft’s Update Ecosystem

The lead-in graphic shows an artfully arranged update view of MS Store’s Library tab, with three items “modified momens ago” in front. Behind, you see winget inside Windows Terminal/PowerShell working to install 8 different updates.

The amount of effort involved is pretty negligible, and the results are almost always trouble-free, speedy and reliable. Although I still have to turn to third-party tools to catch updates outside this ecosystem, under its umbrella things work pretty darn well.

Now, if only those other app makers would get on the manifest circuit and start offering packages for winget to use, life would be entirely peachy. But alas, life isn’t like that — especially here in Windows-World, where a certain amount of chasing one’s own tail is too often a necessary part of the daily grind.

But a WIMVP can always hope for a better future, right? Surely, someday it will all be completely automated and totally easy. Yeah, right: I’ll keep dreaming about it, but that’s the closest I’m sure I’ll ever get.

Facebooklinkedin
Facebooklinkedin

October 2023 Windows 11 Monthly Active Users

Here’s an interesting item, for a variety of reasons. Yesterday, Zac Bowden at Windows Central reported that “Windows 11 is now in use on over 400 million monthly active devices” (emphasis his). In typical headline fashion the title of the story inflates it to “almost half a billion devices.” I have to laugh about that, but the number of October 2023 Windows 11 monthly active users is no joke. Even if those numbers come from, as Zac puts it, “…my sources who are familiar with the matter…” Right!

What October 2023 Windows 11 Monthly Active Users Means

Mr. B observes that this uptake comes at half the rate for Windows 10, but without the upgrade pressure that Windows 7’s retirement put on those numbers. Ditto for the notion, widely held at the time, that the free upgrade would only last for a year or two. In light of those factors, he also reports that these numbers beat internal MS expectations.

IMHO, business users don’t really care that much about the Windows running on their desktops or devices. Business will migrate when it’s good and ready, which means the clock really hasn’t started ticking too loudly just yet (Windows 10 EOL date is 10/14/2025). In fact, it’s just barely audible right now… That will change next year.

So Good, So Far

In my own experience, I ‘ve found Windows 11 to be a workable, reliable and attractive desktop OS. I’m almost completely migrated myself, with only 1 physical PC still running the older version, along with a handful of strategically placed VMs. I have at least 9 physical PCs running Windows 11 here at Chez Tittel, and another 2 off at college with my number-one son.

But what about those numbers? Given that many (if not most) businesses have yet to move from 10 to 11, I think they’re pretty high. In other words, I’m pleasantly surprised as MS apparently is also. My gut feel is those numbers will swell by as much as 200-300M next year, and more the year after that.

Meanwhile, somewhere between 1.2 (IDC) and 1.4 (Statista) BILLION smartphones sold in 2022. That’s a whole different ballgame. Increasingly it’s the game that matters most. So let’s keep this all in perspective, shall we? That said, Windows-World remains my home!

Facebooklinkedin
Facebooklinkedin

KB5031356 Error Calls for KIR

I just got an example of what makes Microsoft’s KIR, aka Known Issue Rollback, useful in the field. A recent story at WindowsLatest recites how an install KB503135  error calls for KIR. (This KB takes Windows 10 to Builds 19044.3570 or 19045.3570.) Some users are getting error code 0x8007000d along with a failed update. Because the problem is apparently of MIcrosoft’s making, they can use KIR to clean things up through WU by pushing an amended update.

When KB5031356 Error Calls for KIR, Then What?

The lead-in graphic provides some important clues to what KIR does (and comes from a Microsoft Community piece entitled How KIR works for the end user). KIR works by loading a configuration change from the cloud. Devices connected to WU (or WU for Business) get notified (settings data to the PCs at bottom). As the same time the new, problem code gets turned off.

MS tries to head trouble off by identifying and pushing out rollbacks before updates get widely applied. As they put it in the afore-linked item “most end users will never see the regressions.” PCs that agree to provide diagnostics info to MS will send information related to the affected code to which the update and regression apply (that’s the diagnostics data in grey). This idea, says MS is “to help us learn how well the rollback is succeeding…”

What About KB5031356 Itself?

The Update rolled out on October 10 (last Tuesday). Reports started appearing immediately. Apparently, MS pushed the rollback on or around October 12. They say it takes 48 hours for the rollback to interact with updated PCs, so that would indicate users who attempted updates between October 10 and October 14 (Friday) could be affected. Those who do fall prey to the error, according to WindowsLatest, should be able to recover using the DISM … /RestoreHealth command.

The error didn’t bite me, even though I updated on Patch Tuesday. But by now, it should be fixed. Worst case, one could uninstall the original KB then re-install the by-now patched version. That should work!

Facebooklinkedin
Facebooklinkedin

X12 Upgrade Quit Halfway

Yesterday morning, I tried to remote into my Lenovo ThinkPad X12 Hybrid tablet. No go. I got the familiar error “Remote Desktop can’t find the computer…” Interestingly, when I went to restart that PC, nothing happened. Eventually I had to disconnect all cables, then hold the power button down for a full 60 seconds to force it to reboot. Then I remembered: I hadn’t touched the machine since the 25967 upgrade hit on Tuesday. That means the X12 Upgrade quit halfway through the process and didn’t come back up after the reboot.

If the X12 Upgrade Quit Halfway, Then What?

Poking around on the Lenovo website, I found an evocative forum post. It was entitled “Laptop suddenly shuts down, won’t turn on.” It confirmed something odd was up, and prevented the PC from restarting. And indeed, my approach (disconnecting all cables, holding down the power button for 60 seconds) is just what the forum rep recommended to the poster, too.

When all else fails, this is one way to get a Lenovo PC to restart normally. And sure enough, once the PC did get far enough along to tell me what it was doing, it showed the spinning circle and progress that goes along with finishing up an upgrade or update install.

Just for grins, I opened up Reliability Monitor on the X12. I found a shutdown error staring me in the face. The detail reads: “The previous system shutdown at 5:55:00 PM on 10/10/2023 was unexpected.” Last Tuesday, at the end of the working day, just when I wouldn’t notice that the X12 failed to come back from the pending reboot during the update process. Go figure!

There’s proof that the PC shutdown when it shouldn’t have.

Speculating on Causes…

This device is attached to a CalDigit TS4 hub for power, GbE, video and storage. I’m wondering if something about that kind of complex USB-C/Thunderbolt 4 connection might not complicate boot-up. OTOH, I’ve upgraded plenty of times before on the same overall rig without difficulty. That’s what keeps things interesting, here in Windows-World.

Facebooklinkedin
Facebooklinkedin

Syntax Errors Derail PowerShell JSON Edits

I’ve just completed a fascinating project for TekkiGurus: a five-part series on customizing and extending Windows Terminal. For the 5th and final part, I decided to build PowerShell scripting that would handle such customizations I use as don’t fall under the settings.json umbrella. Ironically, one of those tasks involved editing that very file to change the default font. That’s when I saw syntax erors derail PowerShell JSON edits, as shown in the lead-in graphic. Let me explain…

How Did Syntax Errors Derail PowerShell JSON Edits?

I started off my project by asking Copilot to present me with some initial PowerShell commands to handle the following tasks:

1. Download, install and set up Jan DeDobbeleer’s outstanding OhMyPosh prompt customization tool. This turns out to be a more complex task than it might seem, because it requires downloading, unzipping and copying Nerd Fonts into C:\Windows\Fonts, adding an invocation to the PowerShell Profile script, dealing with OhMyPosh, and then selecting a Nerd Font as the WT default.

2. Download, install and add the colortool executable to a default Windows path. Colortool is a GitHub project that provides information about Windows Terminal color assignments for text and text backgrounds. This one was pretty straightforward.

3. Install the winfetch utility that shows WT color schemes, system info, text colors, and a few other odds’n’ends. This required only one line of code, so easy-peasey.

The error showed up at the end of my PS sequence for the OhMyPosh tasks (I’ll refer to this as OMP from now on). Seems that Copilot’s code included two errors that it took me some time to find. First, the object sequence for the default font that OMP required turned out to be the string “.profiles.defaults.font.face” rather than the truncated version that Copilot provided (“.profiles.defaults.font”). Also, it used an alias for the default Nerd Font I chose rather than its full name — that is “CaskaydiaCove NF” instead of “CaskaydiaCove Nerd Font”. Interestingly, this alias worked in Windows 10, but not in Windows 11 (there, only the full name would do).

Errors Found Are Easily Fixed

It took me a while to figure this out because I couldn’t find exact documentation to match my problems precisely. I figured out the object sequence by examining the json.settings file from another Windows PC that had the default already set and following the sequence of the object name hierarchy in use in that file. In other words, I noticed a face property in that file that was missing from my rewritten json.settings file. No wonder it wouldn’t save.

Once I made that change, I got another error message (from Windows 11) that reported it couldn’t find a font named “CaskaydiaCove NF.” I so looked in C:\Windows\Fonts, and sure enough the font name in Explorer is actually “CaskaydiaCove Nerd Font.” And again, once I made that change things worked properly.

As the old saying goes: “It’s always easy when you know how.” It took me a while to get to the last detail in the “how” part, but indeed, it was dead easy after that. Things go that way a lot in Windows-World, especially when writing code or command line instructions. I’m just glad it’s working now!

One More Thing: Replacing Munged JSON File

On the machine where I made the object reference error, settings.json remained munged. It kept throwing errors each time I started up WT or PowerShell. So I  researched the topic and learned that if you open settings.json in a text editor, then delete the whole thing, WT will rebuild that file from programmed defaults when an empty file gets saved. That put my WT and PowerShell environments back to rights, and I was then able to get the corrected script to run to completion on that PC.

I’ll observe that if you’re going to edit settings.json in PowerShell on a Windows PC, it’s a good idea to have a backup at hand to replace that file. I’m learning that it’s kind of like working on the registry, where changes can have even more serious and dire side effects. Cheers!

Facebooklinkedin
Facebooklinkedin

Recent Windows Terminal Follies

It’s always a humbling experience to work and work with Windows. This week, I’ve been relearning how Windows 10 works with Windows Terminal (and sometimes doesn’t). I had to stand up a squeaky clean Windows 10 instance in a VM for some WT testing and research. Tongue planted firmly in cheek as I went through some recent Windows Terminal follies, I realized I’d forgotten more about WT than I’d ever known. Let me explain…

History Underlies Recent Windows Terminal Follies

Today, my production Windows 10 installation has been running since 2016, when I stood up my present primary desktop PC. There have been a LOT of changes to Windows since then. And indeed, Windows Terminal (WT) is one of the things that has changed the most. But because I’d gone along with those changes — growing more experienced and wise to the ways of WT — I really didn’t remember all of the little twists and turns along the way.

Thus, installing a clean Windows 10 OS image came as a series of shocks where WT was concerned. Let me list a few of them:

1. Windows 10 made its Insider Preview debut in 2014, WT didn’t come along until May 2019. Thus, it’s not set as the default command line environment in Windows 10.

2. WinKey+X, to my consternation, kept launching an older PowerShell version (v5.1.19014.3570). And the only version of WT present was an older Preview that I didn’t want.

3. Thus, I found myself visiting the MS Store to grab the latest copy of WT, installing it, then setting it as my default terminal application (see lead-in graphic: notice further than this version needs an upgrade).

Eventually, I got things sorted and where I want them to be. But it did come as something of a shock to understand how much change I’d been introducing to my desktop runtime, step by little step. Only when I had to jump the whole stretch in a single bound did I see how far things has really come.

Some Unexpected MSA Bonuses Also Present

OneDrive picks up files from my User folder as part of what it keeps in the cloud. Apparently this includes my PowerShell Profile, because an invocation to OhMyPosh showed up as I fired off the new WT install for the first time. That made setting up OMP even faster and easier than usual.

The moral of today’s story is that one doesn’t really recognize how far one has come (or how much things have changed) until one is forced to recover the same ground and see what’s different. That’s one good reason why — for me, at least — Windows-World is always an adventure.

Facebooklinkedin
Facebooklinkedin

WT Update Requires Application Restart

In the wake of the latest Patch Tuesday, MS has released an update for Windows Terminal. As it works its way through the upgrade process it makes two identical warnings: “Restart the application to complete the upgrade.” If you look at the lead-in screencap, you can see that because I hadn’t yet closed, then re-opened WT it’s still showing the old version in the list sub-command at the bottom of the PS session. As I’ll explain, WT update requires application restart before the upgrade truly takes effect.

Why WT Update Requires Application Restart

Indeed, the WT update requires users to close all open WT windows and then open a new one. That’s  so it can terminate the (old) running WT process(es). These are, of course, still running the 1.18.2681.0 version. When they’re all closed, the pointer switches to aim at version 1.18.2822.0 instead. Then, when you fire off a new WT instance, it’s running that new version, as you can see in the About info here:

WT Update Requires Application Restart.About-info

After the open/close, the new WT version number pops up in About.

As I’ve explained in a number of recent blog posts here (see this September 28 item as an example), self-update activities can be tricky. The cleanest way to handle this kind of thing is to request users to kill the current running instance after installing a new one. That way, it makes a cleaner hand-off from old to new, and provides a “quiet moment” between when the old and new instances start running to handle the housekeeping involved (changing file pointers, registry entries, environment variables, and so forth).

Still Waiting On Winget to Follow Suit

I’d like to see the Windows Package Manager/App Installer tool known as winget follow Windows Terminal’s lead when it comes to updating itself. Indeed, winget upgrade Microsoft.Winget.
Source_8wekyb3d8bbwe does work. That said, it’s a Store app so mostly this gets handled automatically in the background during its daily update cycles.

But when winget updates itself, even though it succeeds it often ends in a status labeled “Cancelled.” That’s not really true, but it is a valid indicator of the kinds of tricky things that self-updates can do (and cause). I’d like to see it take the same approach as WT, hold itself in abeyance, and let users re-jigger the works to make the transition from old to new versions neat and clean. Is this a pipedream? I hope not!

Facebooklinkedin
Facebooklinkedin

Reboot Fixes Winget Hiccup

I have to laugh. If you take a look at the lead-in graphic you might be tempted to believe something amiss with winget. I was yesterday when this happened on one of my test PCs. So naturally, I tweeted (X’ed?) an MS colleague who runs the winget team. About 5 minutes later he responded with “Try a reboot!” Seems that others had been reporting similar woes amenable to this approach. To my chagrin, indeed a reboot fixes winget hiccup — this time, at least. Sigh.

If Reboot Fixes Winget Hiccup, Then What?

That adds another thing I need to try before bothering the developers another time. And, if that works for me (and some few others), it might also work for you, too. Thus, it should become a part of the normal troubleshooting routine.

Indeed, I had closed and re-opened Windows Terminal prior to contacting the team. And it hadn’t done the trick this time. In fact, I even uninstalled and reinstalled winget and that hadn’t worked, either — as you can see in the lead-in graphic.

Had I known then what I now know, I would’ve tried the reboot before those other more severe fixes. And it would have worked. Thus, the next time winget goes wonky on me (especially after an update) I’ll be sure to reboot my PC and trying again before sounding the alarm.

Interesting, eh? Things may not always look simple or obvious in Windows-World. Thank goodness they may sometimes be both, and amenable to a simple solution. All hail the “three-fingered salute” (remember when CTRL-ALT-DEL would force reboot a PC?) There’s no school like the old school!

Note Added October 10 (early PM hours)

As fate would have it, MS pushed an update to PowerShell today for version 7.3.8 through WU. After it updated my problem test PC, the same issue recurred: winget source was essentially not working. None of my previous fixes (reboot, uninstall & reset sources) worked. I had to force install the current production version (1.6.2771) over the current preview version (1.7.2782) to get things working properly again. Funny that this problem should happen on the very day I attempt to document a different issue. Amazing!

Facebooklinkedin
Facebooklinkedin

Win7/8 Key Loophole Closes

On September 29, I reported that one couldn’t upgrade from Windows 7 or 8.1 to 10 or 11 any more.  But, one could still activate a clean install of 22H2 using their keys. As of yesterday, I can conclusively say: “No more!” I used an older key to get through install yesterday. But this morning, the desktop said Windows 10 needed activation. Thus, I’m now convinced the Win7/8 key loophole closes at long last.

More About Win7/8 Key Loophole Closes

Interestingly, the activation servers have to grind for quite some little while. It takes 25-35 seconds before they come back to disqualify older keys. If you hand them a newer one (I tried both retail and MAK keys for Windows 10 and 11) activation comes in 3-4 seconds. There’s obviously a lot of behind-the-scenes checking going on.

That said, the Windows 11 Pro VM I stood up last week using a Windows 7 Ultimate key is still running. In fact, it still shows “Active” as its current activation state. I’m speculating freely when I say this, but that tells me the loophole has been closed later, rather than sooner. We’re unlikely to get official commentary from MS on this one way or the other, so take my supposition for what it’s worth!

It’s Been a Long Time Coming…

Ever since the door officially closed on upgrades from and activations of older keys back in 2016 (7 years ago), we’ve all known this day was coming. Now it’s here. Gosh, it was terrific while it lasted, though, because I never had to worry about running out of keys for throwaway VMs and test installs. I guess we’ll all have to be more careful going forward. I’ll also make more frequent use of the various 90-day eval VMs that MS generally makes available as well.

 

Facebooklinkedin
Facebooklinkedin

New Windows 11 Settings Home

With the latest Canary build (Windows 11 23H2 25967.1000) we see a new Home pane for the Settings app. This new Windows 11 Setting home is hugely different from Windows 10 (see below). But those keeping up with ongoing updates to production 11 won’t see much difference.

New Windows 11 Settings Home.win10home

Windows 10 Settings home is a simple icon table.

What About New Windows 11 Settings Home?

Compared to older production versions, there’s a little more graphics pop (certainly, it’s a lot more visually appealing than Windows 10, to be sure). But MS has been backing these changes into current 22H2 versions as they introduce them in Insider Previews labeled 23H2 as well. That makes it a little harder to tell exactly what’s what.

So I’ll turn to the Canary Channel 25967 release announcement for clarification. Here’s what it says:

We created interactive cards that represent various device and account related settings, grouped by commonly accessed functions. Each card is optimized to offer the most relevant information and controls at your fingertips. In this release, you’ll see up to seven cards, with more coming soon.

Here’s an overview of each card:

  1. Recommended settings: This card adapts to your specific usage patterns, providing timely and relevant settings options. It’s designed to streamline your settings management and save you time.
  2. Cloud storage: Gives you an overview of your cloud storage use and lets you know when you’re nearing capacity.
  3. Account recovery: Helps keep your Microsoft account more secure by helping you add additional recovery info so you never get locked out of your account, even if you forget your password.
  4. Personalization: Brings customization to the forefront by offering one-click access to update your background theme or change your color mode.
  5. Microsoft 365: Provides a quick glimpse of your subscription status and benefits, along with the ability to take some key actions right in Settings instead of going to the web.
  6. Xbox: Similar to the Microsoft 365 card, you’ll be able to view your subscription status and manage the subscription from the Settings app.
  7. Bluetooth Devices: To simplify your Bluetooth device management experience, we’ve brought this to the forefront so you can quickly access and connect to your favorite Bluetooth-enabled devices.

You can take swift actions directly from this page with just a click, making device and account management seamless and efficient. What sets the homepage apart even further is that it’s more than just a landing page—it evolves and learns with you.

Overall, I like the design and layout. It certainly shows and does more than the “icon directory” model for Windows 10. But with other Windows 11 versions either already in synch or catching up soon, it’s not as much of a surprise as I was expecting.

Who knows? Maybe that’s a good thing… I’ll be watching to see how Windows 11 learns from my behavior and usage to make changes. There may very well be some surprises — hopefully, good ones — in that mix. Stay tuned!

Facebooklinkedin
Facebooklinkedin