Category Archives: Insider stuff

Sussing Out WinTerm Color Schemes

In my writing and research work for TekkiGurus, I’m pursuing a GitHub project that works within the Windows Terminal environment. It’s called ColorTool. Simply put, ColorTool shows the colors used in the console window; it also lets you tweak them. Its color charts are kind of interesting and I’ve trying to figure them out. MS has a tendency to show them inside an Ubuntu command session inside Windows Terminal. I show them as they pop up in PowerShell in the lead-in graphic. As I’m learning how this all works, I’m sussing out WinTerm color schemes, too.

Bing Chatbot Helps When Sussing Out WinTerm Color Schemes

I’ve been reading a lot, and asking around to try to learn how to decode the values that show up in the display form of a Windows Terminal color scheme. So far, it’s proved rather more challenging than I had expected. So far, I’ve been attacking output strings to tease out their meanings. This is what I’ve learned so far, mostly thanks to the Bing Chatbot in Windows 11 Canary (Build 25393):

  • The string “gYw” that appears in the columns of rows 2-10) stands for gray, yellow and white. It uses prevailing foreground color, whatever that may be.
  • The values 30m through 37m that appear as row heads (first column left) are ANSI escape codes for foreground colors
  • The values 40m through 47m that appear as column heads (second column through 9th column left) are ANSI escape codes for background colors.
  • Looking at the color chart, the text strings “gYw” show the foreground color, while the solid bar for each column shows the background color.

In profound contrast, Ubuntu puts foreground colors as columns, and background colors as rows. I also shows escape sequences instead of color names. Initially, this bamboozled me. But now I see what’s going on…

Sussing Out WinTerm Color Schemes.ubuntu

Notice that background appears as double rows with escape codes at left in column 1, and foreground colors appear as the text for escape codes in rows 2-9).

Wow, it’s all starting to make a certain amount of sense. And I mostly have the Bing Chatbot to thank for explaining such extremely low-level details. Apparently, those who work with terminal/console color charts know all this stuff already.

Now, I finally understand that a color scheme assigns a range of color values to the 8 ANSI escape codes for the foreground colors 30m through 37m (which may also be expressed as ESC[30m …). It does the same for the 8 ANSI escape codes for the background colors, too (40m through 47m, likewise ESC[30m).

OK, Now I Know What’s What

Suddenly, I feel armed with the information I need to make sense of the Windows Terminal color schemes and their related color charts. This should make my jobs of explaining them, and their customization, a WHOLE LOT easier. I’m jazzed…

Facebooklinkedin
Facebooklinkedin

Understanding Windows Validation OS

Here’s something new to me that’s apparently been a thing for some time now. It’s called a “Validation OS” and includes an image file named ValidationOS.wim. When I tell you it’s a mere 193 MB in size and represents a (mostly) read-to-run image for Windows 11 22H2, that should raise your eyebrows. By comparison the 22H2 Download from the Download Windows 11 page weighs in at 5.4GB! One key point in understanding Windows validation OS is that it’s minimalist and limited by design. That’s why I show adjacent file listings from the Explorer Download folder as the lead-in graphic here.

Overview: Understanding Windows Validation OS

Here’s how MS describes this Windows 11 OS version and its purpose (from MS Learn’s Microsoft Validation OS documentation; bold emphasis mine):

Microsoft Validation OS is a lightweight, fast, and customizable Windows 11-based operating system that you can use on the factory floor to diagnose, mitigate and repair hardware defects during Windows device manufacturing. Validation OS boots into a Command Line environment to increase reliability on the factory floor and supports running Win32 apps, smoothing the transition from early hardware bring-up to retail OS and apps development.

The Validation OS offers only a command line interface as delivered. But by using DISM to operate on the .wim file you can add whatever packages you like to this bare-bone OS image. The list of optional packages available for use with this image includes (paraphrased from the afore-linked) Validation OS reference at MS Learn:

  • PowerShell: provides PS and basic modules/cmdlets
  • Basic connectivity (HID, USB and Serial device connections)
  • Disk tools (built-in Windows disk tools, including diskpart.exe)
  • GDI Plus: add graphics capability through GDI Plus support
  • .NET Framework 4.5: permits use of basic .NET features
  • Plug and Play: provides support for plug-and-play devices
  • Windows Device Portal: lets OS access WDP server for driver downloads
  • Other drivers: by class, includes memory, core system extensions, network drivers, and more

What the Validation OS Good For?

It is intended for developers and OEMs to provide a quick-to-boot-and-run, lightweight version of Windows 11 they can use to test specific hardware configurations. Developers can use it to simplify and speed up driver creation and maintenance.

But gosh, a lightweight version of Windows 11 is also handy for rescue and recovery purposes, too. Those who know how to use DISM will be able to use its add-package capabilities to extend and customize this Windows image (it will also be necessary to take this approach for updates as well).

This one’s definitely worth exploring and possibly putting to work, for admins who test configurations and updates prior to deployment, and for anyone in search of a good starting point for a customized, bootable repair/recovery environment.

Note: here’s a shout-out to Sergey Tkachenko at WinAero, whose July 4 story “Microsoft’s Validation OS Again Received and Update (Quietly)” clued me into this version of Windows 11. Thanks!

 

Facebooklinkedin
Facebooklinkedin

Testing Bing Chat AI Text Generation

Hmmm. This has been interesting… I’ve been using the Bing Chat tool in the Canary Channel version of Windows 11 lately. I just asked it to shed some light on a Windows Console (aka Windows Terminal) tool that I’ve been working with lately. Let me provide the query I used while testing Bing Chat AI text generation:

“Give me 400 words about the Winodws Console colortool”

I’ll provide the results as a blockquote under the next heading. Then I’ll explain what’s good about it and where — IMO at least — it falls a little short.

Results from Testing Bing Chat AI Text Generation

Notice that the chatbot correctly interprets my mistyping of Windows as “Winodws” in the input, and gives me the answer I wanted. Good stuff! Here’s what it told me:

The Windows Console Colortool is a utility that helps set the color palette of the Windows Console. It can be used to apply the new default color scheme and several alternate pre-defined color schemes or even schemes of your own1The tool is open source and hosted on GitHub2.

To use the Colortool, open up Command prompt and run: colortool [scheme name in schemes/ e.g: campbell]. Right-click on the window title to access the ‘Properties’ dialogue box. Once the properties dialogue box opens press OK (which saves the color change)1.

Notice it provides highlighted, hyperlinked text to additional references (which show up in the lead-in graphic as footnotes 1 and 2). It’s essentially a rewrite of descriptive information from the colortool’s github page. Curiously, that does not show up as the primary reference here (it’s number 2, though). Concerns about the accuracy of the material I’ve seen voiced in other analyses are apparently NOT an issue when you ask the chatbot to keep the text short. Everything it says it 100% accurate and verifiable.

OK Then, What’s Missing?

The text does not explain that the ZIP file for the colortool must be downloaded and unpacked into a folder that’s either included in the $PATH environment variable, or made the focus of the Command Prompt (or PowerShell) session in which the tool gets invoked. It just assumes all those details have been handled and jumps straight into the syntax and behavior of the tool itself.

That’s all well and good, but makes a telling demonstration of why AI chatbots can help, but not necessarily take over, for knowledgeable human actors with a more nuanced understanding of the context in which they’re operating. At least not yet, anyway…

It’s extremely interesting stuff, and is definitely going to help me with my job of explaining things to readers in the future. If you’re running the Canary Build (25393) for Windows 11, click the Bing symbol at the upper right of the default Edge window to dig in and try it for yourself. Great fun!

Facebooklinkedin
Facebooklinkedin

WinGet Upgrade PowerShell Shows Cancelled

Here’s an interesting observation. Winget will happily upgrade PowerShell from one version to the next, but things can sometimes get a little weird at the end of that process in a PowerShell window. As you can see in the lead-in graphic, a WinGet upgrade PowerShell shows cancelled at the end of that process. I opened a second PowerShell tab, then formatted it to appear beneath the open command session above. Notice the version number in the top reads 7.3.4 and below 7.3.5. That means the upgrade process completed successfully and PowerShell is running the higher-numbered version.

Interestingly, this doesn’t happen on all Windows 10 or 11 PCs. As I upgraded my local fleet from the old version to the new, this situation popped up on about half the machines involved. WinGet team lead Demetrius Nelon (@DenelonMs) explained things to me this way:

Yes, we have the same behavior when we use winget to upgrade winget via `winget install “App Installer” -s msstore –force`. We actually special case that scenario in the latest preview to show completion even though the process is killed which is what is happening in the upgrade PowerShell scenario.

What WinGet Upgrade PowerShell Shows Cancelled Means

Once PowerShell is updated the process where the upgrade happens appears unable or unsure what to do with itself. It’s apparently still running the old version in the top pane. But when a new pane opens below it shows the new version of PowerShell is running. IMO, that makes the “Cancelled” output an artifact of the bootstrapping process rather than a genuine error message. Indeed that’s a function of the “CTRL-C” like behavior of what happens as Mr. Nelon explained further:

Essentially the running process is “killed” [ctrl]+[c] equivalent. When the process is killed an exception is thrown. A child process would continue to run, however, so it actually completes successfully

And indeed, if you close the open Windows Terminal instance and open another one, it comes up with only 7.3.5 visible and available. I don’t know if others find this kind of thing interesting and entertaining. But gosh, I sure do. These little details are what makes working with the Windows OS and its supporting cast of tools — Windows Terminal and PowerShell, in this particular case — so interesting and beguiling.

Learn More About Windows Terminal

I’m about halfway through a series of articles on Windows Terminal for TekkiGurus.com right now. Here’s what’s done so far:

Overview: Understand Winget: MIcrosoft’s Windows Pkg Manager
Part 1: Dealing with Windows Upgrade Issues
Part 2: Working with Winget Settings

Still to come, among other items, is a story on WingetUI, a GUI-based alternative to the native command-line Winget tool. Be sure to check them out!

Facebooklinkedin
Facebooklinkedin

Windows 11 Widgets Need Improved Stability

OK, then. I just happened to check Reliability Monitor (ReliMon) on one of my Windows 11 test PCs. I’d been using it as the platform to put Widgets through their paces late last week. If you look to the right-hand of the reliability graph, you’ll see it craters as I do so. In fact, between June 22 and 27 CoreWidgetProvider accounts for 9 of 11 MoAppCrash errors inside the Dev Home app over that 6-day period. Hence my assertion: Windows 11 Widgets Need Improved Stability.

Why Say: Windows 11 Widgets Need Improved Stability?

Simply put: that’s a LOT of crashing just for using Widgets through Dev Home. For the record MoAppCrash is shorthand for Mobile Application Crash, and goes to the coreclr.dll element in that app. Methinks MS Needs to check this out and figure out how to boost its uptime or resilience. AFAICT this comes from pinning Widgets to the Dev Home dashboard and letting them run. That should be a pretty non-controversial action, right?

That said, the full name of Dev Home right now is indeed “Dev Home (Preview).” That means it’s not fully cooked yet. So you knew there had to be something about it that might not be ready for prime time. What do you bet this is part of that in some way?

What to Do? What to Do?

I’ll be reporting this to Feedback Hub. If you see it on your PCs you should do likewise,  or upvote my item. If MS really wants to supplant Vista Gadgets with Widgets, looks like they’ve got some work to do!

 

Facebooklinkedin
Facebooklinkedin

WinGet Chrome Update Follies Continue

There are many occasions when I run WinGet and it tells me Chrome needs an update. Sometimes, WinGet handles that update; other times it does not. I just pushed my luck, and got more information about why that happens. It’s shown in the lead-in graphic, and indicates a change in the “install technology” is involved. In such a start-stop fashion, my WinGet Chrome update follies continue…

Yes/No: WinGet Chrome Update Follies Continue

WinGet is inherently conservative by design. If the developers change something about the installer WinGet calls to handle updates, it won’t force that update. As you can see in the lead-in graphic, when I explicitly tell WinGet to update Chrome (e.g. winget upgrade google.chrome references the package name) it gives me an informative error message instead:

A newer version was found, but the install technology is different from the current version installed. Please uninstall the package and install the newer version.

OTOH, if I fire up Chrome, then click on Help → About, it’s happy to update itself at my behest. See?

WinGet Chrome Update Follies Continue.internal-update

The internal update facility in Chrome doesn’t care about “install technology.” It just runs.

The advice in the WinGet message thus really targets using WinGet to perform the upgrade. Indeed if you run this sequence of commands:

WinGet uninstall Google.Chrome

WinGet install Google.Chrome

then Winget will achieve the desired result of updating Chrome. In the past, I’ve speculated that if Chrome is running, the update might not happen. Now that I see this error message, this looks like a much more likely explanation.

But wait…!

I tried this on another test PC just now, and on that machine the Chrome update proceeded without any issue. Go figure!

Maybe it is a case of whether or not a Chrome process is running. On the other test PC it had just been rebooted, so no such potential complications were present. It’s always something, right?

Facebooklinkedin
Facebooklinkedin

Moment 3 Dev VMs Now Available

OK, then. I read a June 25 story on Neowin with great interest. It’s entitled “Microsoft releases free Windows 11 virtual machines with the Moment 3 update .” If you visit the MS webpage that the story covers, you’ll find VMs to download for VMWare, Hyper-V (Gen2), VirtualBox and Parallels. Inside each VM is a running instance of Windows 11 Enterprise, Visual Studio 2022 Community edition, WSL for Linux 2 (Ubuntu), Windows Terminal, with developer mode turned on. Hence my title here: “Moment 3 Dev VMs Now Available.”

Moment 3 Dev VMs Now Available:
20+ GB Download

Because Hyper-V is my virtualization tool of choice, that’s the version I downloaded to try out on a test PC. That download is about 21GB in size, and took me a good 4 minutes to download over a fairly fast connection.

Once you get over that hump, you’ll find a .vhdx file inside the ZIP folder that’s  a hefty 40+GB in size. UnZip same, and you’ll be able to open that VM inside Hyper-V. I’d recommend doing so from an NVMe SSD, which for many users will mean their system drive. Thus, make sure you’ve got the room!

I’d also recommend deleting the ZIP file once you’ve extracted its contents just to save some space. If you have the expanded file, you don’t need to keep the ZIPped version around. On an 8th gen 4-core i7 CPU (8650U @ 1.9 GHz) laptop, it took just under 5 minutes to unZIP the VM (4:55).

Moment 3 Dev VMs Now Available.unzip

This hefty ZIP file takes a while to unpack…4:55 on my test PC.

Once you’ve got the .vhdx file unzipped, you simply need to create a new VM inside Hyper-V (Gen 2, 4096 MB RAM, default switch). You can then double click the VM inside Hyper-V to launch, and you’ll get a complete Windows 11 instance with all the aforementioned goodies up and running. It took about 4 minutes on my Yoga X380 ThinkPad test PC to get to the desktop shown in lead-in graphic.

Other than the time it takes to download, install and start up, the process is dead easy. Try it for yourself and you’ll see. The only downside is that this is an eval copy of Windows that ages out on September 23, 2023. Thus, it won’t last very long!

Facebooklinkedin
Facebooklinkedin

WizTree v4.14 Mystery Finally Resolved

I must say I’m relieved. I keep in touch with Kyle Katarn. He’s the principal developer of Software Update Monitor (aka SUMo) and a bunch of other interesting software. Lately, SUMo’s been reporting there’s an update available for WizTree. But I’ve neither been able to find it, nor has the most recent available download resolved the discrepancy, either. Sigh. But this morning, the WizTree v4.14 mystery finally resolved itself. Indeed, its download page finally refers to — and makes available — the very version that SUMo recommends. See it in the lead-in graphic above.

Download Means WizTree v4.14 Mystery Finally Resolved

Even though it’s dated June 6 in that screencap, I swear by all that’s holy it’s only showed up on the download page recently. Somehow, Kyle’s data analysis tools figured out what was coming long before it actually appeared. This happens sometimes, when you use update tools that scan the web to figure out that new versions of existing apps may be available.

I’ve noticed, and reported, at least ten times a week lately that SUMo occasionally recommends things before they’re ready for consumption. And sometimes, it even recommends beta or preview versions of software instead of production ones. From messaging with Kyle I understand that’s because his tools pay close attention to version numbers. Apparently, that means the occasional false positive that selects an item based on version number even when that version isn’t yet ready for widespread distribution and use.

To his great credit, Kyle asked me to report these things to him as and when I find them. I do, and he almost always fixes them the same day (often within an hour or two). Indeed, I’m pretty impressed with his responsiveness and can-do attitude,

Enough! Or too much?

That balancing act actually comes from William Blake’s Proverbs of Hell (1793). It’s as true today as it was then. And it describes the kind of dancing on a knife’s edge that tracking updates demands. One must be just aggressive enough to catch everything, everywhere, all the time. But one can’t be so aggressive as to recommend updates that aren’t yet generally available, or that shouldn’t be put forward. That means recognizing and steering clear of previews, alpha and beta test versions, and so forth, even though they almost always bear higher version numbers.

Things can get tricky from time to time, tracking and managing updates here in Windows-World. Yet somehow, we manage to carry on. Whether or not we also keep calm at the same time tends to vary…

 

Facebooklinkedin
Facebooklinkedin

Build 22631.1900 Shows 13 Spurious Reclaimables

Here’s an odd an ind interesting situation. After applying the CU that took the PC to the most current Beta Channel build, it reported an astounding 16 packages amenable to cleanup. After running DISM …/startcomponentcleanup, that selfsame PC running Build 22631.1900 shows 13 spurious reclaimables.

Why do I claim those reclaimable packages are spurious? Because running and re-running the same DISM command (which normally removes them all):

(a) reports successful completion
(b) leaves the number of reclaimable packages unchanged (13)

I’ve seen this happen on some Insider Previews in the past, as far back as Windows 8.x. But never with such a high number of packages — indeed, it’s “lucky 13.” WTF?!

If Build 22631.1900 Shows 13 Spurious Reclaimables, Then?

I’ve reported this situation to Feedback Hub along with screencaps to show what DISM reports. But otherwise, there’s not much a mere user — even an Insider MVP like myself — can do about this kind of problem. If the machine were showing signs of instability, odd behavior, or reduced performance I’d try an in-place repair install. I’d follow that up with a clean install if such problems persisted.

But since this seems to be purely an artifact from inside DISM that doesn’t affect the machine’s overall behavior or capability, I’ll leave it alone for the time being. If MS responds to my feedback, I’ll take whatever advice they dispense. Otherwise, I’ll wait for the next Beta Channel release with hopes that such an upgrade will clear this strange and weirdly high count of non-existent reclaimable packages.

Stay tuned: I’ll report back in after the next CU or new Build. I’m betting this problem will disappear once the “next thing” gets installed. We’ll see!

Minor Build Number Goes to 1906 (June 23)

Yesterday, CU KB5027311 got applied, as did an Update Stack Package. No change to the reclaimables count, nor did a cleanup attempt with /startcomponentcleanup have any effect. I’m guessing this won’t change until the next major version increments through an upgrade of some kind. Let’s see…

Note Added January 20, 2024

With the installation of Build 22635.3066 (23H2 Beta Channel Insider Preview), the “spurious 13” have vanished from DISM’s notice. The announcement says nothing about any relevant changes, and  the one for the base level release for this feature upgrade says only “a handful of fixes to improve overall reliability.” Somewhere, somehow, though this finally got fixed. Go figure.

Facebooklinkedin
Facebooklinkedin

File Explorer Restart Fixes Start Menu

I don’t know what I — or Windows itself — did. But I do know for sure that when I logged into my production PC this morning, Start Menu search was broken. I could type anything I wanted into the search bar. But each search came up empty. I could still navigate to apps alphabetically, so I knew something odd or interesting was up. Fortunately, among its many other good qualities, a File Explorer restart fixes Start Menu, too.

How File Explorer Restart Fixes Start Menu

The lead-in graphic shows how it’s done. Fire up Task Manager (I like to use the CTRL-Shift-Esc shortcut, but you can right-click on the Taskbar to get at it through a pop-up menu, too). Find Windows Explorer (I still think of it by its older name as in the title for this blog post), right-click, and select “Restart” from the pop-up menu.

As the term indicates, this basically kills the runtime environment for Windows/File Explorer, which includes the Start Menu, the taskbar, and other stuff, as well as any and all open Explorer windows. All this gets restarted afresh. And when that happens, the new and pristine runtime usually works as it should.

Case in point this morning: my broken Start Menu search function started working again. I cheerfully confess I simply wanted to play Solitaire. But typing “Sol” into the search box did nothing for me. The fix took less than 10 seconds to complete, though. And when it was done it was back to “Windows business as usual.”

Good! That’s just what I wanted… Keep this in your hat: it’s sure to come in handy someday here in Windows-World.

Facebooklinkedin
Facebooklinkedin