Category Archives: Cool Tools

Teams App vs. Application Issue Redux

Back in June, I posted here about an odd issue regarding Teams updates. With a new app version of Teams out, it’s back again but in a different form. Simply put, winget wants me to upgrade from the standalone version  to the app version. The old version (which MS labels “Classic” online) is ID’d as Microsoft.Teams. So is the app version, but it is named “Microsoft Teams (work or school)” rather than just “Microsoft Teams.” In this distinction lies an interesting rub.

Why There’s a Teams App vs. Application Issue Redux

Turns out the “work or school” distinction matters to those who want to use Teams with an MSA that is NOT part of an Azure or Active Directory domain. That would be me, with the MSA I use for my WIMVP access to an online community that MS itself set up for this group. You can’t use the app version to login to this community because MS isn’t exposing the the right kind of alternative authentication outside the Azure/AD umbrella. When I try to use the app version with the MSA I need, it doesn’t work. If I switch to an MSA that works, I can’t access the communities I wish to see and use.

So I have to keep the classic version around, even though I typically log in to the WIMVP and other communities through the Web interface to classic teams. Indeed, I haven’t been able to access my non-Azure/AD MSA-based communities in Teams except through the classic version. This is interesting, and a bit frustrating, because the app version only works for my old Win10.Guru (AD-based) MSA, but for none of the other Teams communities to which I belong.

Teams App vs. Application Issue Redux.classic

When I type “teams” into the Start menu, the default is to open the app. Alas, I MUST use the “classic” version.

It’s just one of those things. I guess. I’ll be happy when Microsoft gets the work done to permit such MSAs to use the app version. Only then can I uninstall the classic version. Until that happens, I’m stuck with the “winget nag” phenomenon. Sigh.

Facebooklinkedin
Facebooklinkedin

Start11 v2 Face-Up

I have to laugh. It’s something along Godfather III lines. I’d recently concluded I don’t need Start11 any more because I’m completely at home in the native Start menu. So I’m out. Then, Stardock introduces Start11 v2 — a completely new version for which users must pay to upgrade. Reading about its cool new features, they pull me back in. The lead-in screencap conveys its coolness quite nicely.

Look Top Right: See Start11 v2 Face-Up (Mine!)

Simply put, Start11 v2 lets the built-in Start menu shine through. But it provides all kinds of extras that it can’t do, too. Let’s start with my smiling face up top in the extra right-hand panel. Below, there’s  one-click access the old Library items (Documents, Downloads, etc.). But also my User folder root, Control Panel, Settings, the Run box and This PC in File Explorer (shows as “Computer” at bottom for what I guess are historical reasons).

You can choose from a palette of start menu looks and layouts. Mine is called Windows Pro Style as you can see in the next screencap:

Start11 v2 Face-Up.startstyles

7 start menu styles, many with controls for additional tweaks and twists.

In addition, Start11 v2 provides controls for the Start button itself (I like the Windows 11 logo), the taskbar and taskbar pins (including the ability to pin folders and folder menu pop-ups there), multiple search options and more. Because Start11 v2 accepts a multitude of tweaks, you can also save all that stuff (it’s called “Settings backup”) to a file, then restore and reset settings as you might like. If you have Voidtools Everything installed (part of my basic Windows toolkit), when you search inside the Start11 search facility its results are what come back to you in return. Great stuff!!!

Just When I Thought I Was Out…

Stardock comes along with a truly great uprade to its old stalwart Start menu replacement tool. But I guess we should call it a Start menu enhancement tool these days, eh? Because it was so cheap I sprung for the 5-pack. At under US$13 ($2.60 per instance) it’s too good a deal to pass up — especially against a US$5.99 single copy price.

Historical note: I got into Stardock’s start menu tools with Start8. I cheerfully confess to having been totally befuddled and put off when the “new, redesigned” native Start menu appeared in that OS. I’ve been a pretty loyal user ever since (including Start10). In a “let’s keep a good thing going” kind of way, I’m actually glad to have a reason to WANT to buy into Start11 v2. It had become mostly optional on my 10 or so Windows 11 PCs, tablets and notebooks.

Facebooklinkedin
Facebooklinkedin

Sussing Out Doubled-Up PowerShell

Here’s an interesting one. After running winget upgrade on Friday afternoon, I noticed something interesting. Even though I’d already upgraded that particular PC to PowerShell version 7.3.9, it still showed a version of 7.3.8 in need of an upgrade. Immediately, I started sussing out doubled-up PowerShell. As you can see in the lead-in graphic it was a case of “parallel versions.” Even though 7.3.9.0 is clearly installed (PowerShell 7-x64), so is 7.3.8 (PowerShell 7.3.8.0).

After Sussing Out Doubled-Up PowerShell,
Bye-Bye 7.3.8!

Turns out that 7.3.9 has some install changes. That means winget won’t simply upgrade the software. One must run winget uninstall, then winget install to do this particular round of the PowerShell upgrade dance. You can see this at work in the next screencap, which shows:

(a) notification from PowerShell that a new stable release is ready for download (white background against black text up top)
(b) notification from winget that “install technology is different” for new PowerShell release, so uninstall/install maneuver is needed

Sussing Out Doubled-Up PowerShell.winget-info

PowerShell is pretty clear that winget upgrade can’t handle this without extra maneuvers.

Thus, one approach here would be to run this sequence of wingets:

winget uninstall Microsoft.Powershell
winget install Microsoft.Powershell

The first removes the old version and the second installs the current (new) one. Easy-peasey, right?

Take the Long Way Home

The way I see things, there’s another choice when this kind of thing happens. The PowerShell installer file at GitHub (or the equivalent link shown at the top of the screencap: https://aka.ms/PowerShell-Release?tag=v7.3.9) not only installs the new PowerShell version, it also removes the old one. So I went ahead and ran PowerShell-7.3.9-win-x64.msi on the same machine where I captured the preceding screencap. I closed PS manually, instead of having the installer do it. Then I ran winget upgrade again. And sure enough, the doubled-up version once again appears!

It gets more interesting. I ran winget uninstall MIcrosoft.PowerShell –version 7.3.9.0 to remove the older version. This time, I let the (un)installer attempt to close PowerShell. It failed, and showed an “uninstallation abandoned error” (see next screencap).

Winget drops the ball trying to uninstall the newer version from inside that version! [Click image for full-sized view.]

Go with What Works

OK, I want to run the new version. But I also want to remove the older one. That cycles me back to the original screecap at the head of this blog post. If you go to Settings → Apps → Installed apps, you can easily excise older PowerShell versions from there. So that’s what I did. And presto: no more winget notifications that 7.3.8.0 needs an upgrade to 7.3.9.0.

One more thing: on another test machine (one running a preview version of PowerShell) I successfully used winget to uninstall 7.3.8.0 and then follow up with a successful 7.3.9.0 install. I think this worked because PowerShell 7.3.9.0 didn’t attempt to uninstall or install itself. That said, I did also have to manually install a new profile so I could make 7.3.9.0 my default PS selection afterwards. It’s always something, right?

Note added November 1: Do It From Command Prompt

On another test PC just now, I opened Windows Terminal. Then after opening a Command Prompt tab, I closed the open (default) PowerShell 7.3.8.0 tab. After that I was able to use winget to uninstall the older PS version and install the new one. This required no  new profile shenanigans. It’s my recommended approach until the PS team gets this fixed (I got confirmation from an MS contact yesterday that yes, this is a known thing and they’re working on it).

Facebooklinkedin
Facebooklinkedin

Beta Build 22635.2552 Adds System Components

I’ve known this was coming for some time now. Last month, I researched changes to the Windows Troubleshooters to a Get Help facility in Windows 11. Note: “Get Help” works for Windows 10, too. Indeed, it fell under a general heading of “System Components” as explained at MS Support. Thus it came with more of a sense of inevitability, not surprise, when Beta Build 22635.2552 adds System Components to its Settings → System subhead lineup. You can see that pretty clearly in the lead-in graphic, which has Winver superimposed to show Build info.

What Else Appears When Beta Build 22635.2552 Adds System Components?

If you look at the lead-in graphic you’ll notice the following list of elements under the System Components heading (in order of appearance):

  • Game Bar: former Xbox Game Bar app, now renamed to drop Xbox.
  • Get Help: Built in Windows troubleshooting facilities now runs as an app (and auto-launches when the OS itself spots trouble).
  • Microsoft Store: Primary source for Windows apps of all kinds.
  • Phone Link: Provides link and synch facilities between smartphones and Windows PCs (iOS and Android devices).
  • Tips: Built-in Windows notification, advertisement and “information” items.
  • Windows Security: Home to Defender’s AV, account protection, firewall & Internet controls, device security, health and family options.

Essentially this positions these specific apps as Windows built-ins that “come with the OS.” Thus, they can’t be uninstalled: inspection will show their Remove buttons are greyed out in Advanced Options. And although they can be terminated, from a runtime perspective, they’ll “keep coming back from the dead” in Halloween-appropriate fashion.

I find it interesting that MS lumps in Game Bar and Phone Link along with the other built-ins that comprise “system components.” It will also be instructive to watch this category to see when and if it expands, exactly what else appears under this heading. Stay tuned!

 

Facebooklinkedin
Facebooklinkedin

PC Manager (Beta) Version 3.8.1.0 Is Out

I recently wrote an article for AskWoody about the Chinese-based Microsoft PC Manager utility. If you visit its MS Home Page, alas, it hasn’t changed since a new version came out yesterday (October 25). OTOH, winget will let you know that PC Manager (Beta) Version 3.8.1.0 is out and ready for update or install. That’s what’s showing in the lead-in graphic above, in fact.

Home Page Unaware PC Manager (Beta) Version 3.8.1.0 Is Out

I downloaded the version from the preceding home page link. It happily installed over version 3.8.1.0 with no warnings or info. After that I confirmed it had rolled back to version 3.1.3.0. Indeed, that’s how I got to the Windows Terminal/PowerShell stuff in the lead-in graphic. There, winget upgrade shows I’ve got version 3.1.3.0 installed. And next winget upgrade –id Microsoft.PCManager.CN performs the upgrade to the higher-numbered version.

When my editor at AskWoody figured out that PC Manager was of Chinese origin, he was a bit taken aback. He noted multiple instances of fractured English in its screens and info. We share a somewhat surprised estimation of its slapdash assembly and overlap amidst its various pieces and parts.

What About That New Version?

This is apparently a pretty substantial rev for PC Manager. It’s got a new logo (which now prominently features “BETA” in its upper-left quadrant.

PC Manager (Beta) Version 3.8.1.0 Is Out.logo

The new logo includes “BETA” label (Start menu entry shown).

The PCM UI has undergone substantial revision, too. Its left-hand buttons/icons now read:

Home: Provides access to memory boost, temp files cleanup, health check, Process mgmt, Deep cleanup and Startup items.
Protection: Run a Defender scan, access WU, jump to default browser settings, perform taskbar repair, restore default apps.
Storage: Deep cleanup, manage downloads, manage large files, jump to storage sense.
Apps: Process mgmt, startup items, jump to Apps, MS Store.
Toolbox: Access to Windows & Web tools, plus custom links (PDF conversion and MSN provided by default).
Repairtips: Checks PC for recommended settings, provides info when one or more is out of whack.
Settings: Toggles, settings for boost, shortcuts, startup with Windows, and early access to new versions.
Feedback: Abbreviated feedback a la Feedback Hub but seemingly outside that umbrella.

PCM remains a hodgepdge of capabilities: some new, some old, and some pointing to other Windows facilities (mostly in Settings). It’s still got plenty of rough edges. I’m  a little concerned that installing an older version atop a newer one provokes no warnings nor notification.  Think I’ll send a feedback item to that effect and see what happens…

Nope: it’s apparently not tied to Feedback Hub, and I see more fractured English:

Note Added 10/26 mid-afternoon

There’s another new version of PCM out now: the next-to-last digit incremented from 3.8.1.0 to 3.8.2.0. So far I don’t see any obvious differences vis-a-vis the last update. Hmmm….

Facebooklinkedin
Facebooklinkedin

Experiment: Reset this PC

After digging further into Reliability Monitor on the P1 Gen6 ThinkPad, I realized things were unacceptably unstable. As an experiment, reset this PC came to the fore. It’s the option available as Settings → System → Recovery from the “Reset PC” button. The resulting window serves as the lead-in graphic for this story (above).

Why Conduct the Experiment: Reset this PC?

Alas, I had four straight days of error behavior like that shown in the next Reliability Monitor screencap. That is, over a dozen serious Critical events, including:

  • Windows stopped working (2)
  • Windows was not properly shut down (2)
  • Hardware error (2)
  • Windows shut down unexpectedly (2)
  • Various NVIDIA-related “Stopped working” errors (4)

Experiment: Reset this PC (ReliMon)

Whoa! That’s a lot of Critical errors for one day…and I had 3 more just like it. [Click image for full-sized view]

In addition, the OS install was showing other odd and unexpected behaviors. For example, I couldn’t get the Edge browser to run. The display was occasionally flashing on and off (probably related to the NVIDIA errors shown). File Explorer was herky-jerkey when traversing the file system. There was probably more, but that was more than enough for me to realize something wicked had already come onto that desktop. Hence, the reset experiment…

Since performing the reset, I’ve experienced exactly one (1) critical error over the past 24 hours. It may still be too early to tell if the reset really fixed things. It might just be having left this PC alone for the last while that’s kept things quiet.

Going through the Reset Process

It seems like Reset is an awful lot like an in-place upgrade repair install, except that it wants the end user to reinstall apps and applications one at a time (each had an “Install” entry in the Start menu/All apps after the first reboot). I’m too lazy to do one-offs like that, so I used the bulk installer built into PatchMyPC Home Updater instead. Works like a peach! Alternatively, I could have done most of those installs using winget instead.

I wasn’t sure if the reset function would take the PC back to its fresh-from-the-factory state. No, it didn’t: it simply reinstalled — via a cloud download — the same version of DevChannel Insider Preview already running on this test PC. Good to know!

Stay tuned: I’ll report back if the earlier instability persists. I had attributed it to an Intel firmware update. I’ll end up poking it one way or another over the next days and see if it blows up again.

 

Facebooklinkedin
Facebooklinkedin

Working Reclaimable Packages Mystery

For months now, one of my test PCs has claimed something remarkable. It’s a Lenovo ThinkPad X380 Yoga (8th-gen i7, 16 GB RAM, 1 TB NVMe SSD). It’s a working reclaimable packages mystery, as you can see in the lead-in graphic. Note please: it shows 13 (!) reclaimable packages in the component store. But they never go away…

Why Is There a Working Reclaimable Packages Mystery?

Gosh, I wish I knew. But it’s got me learning more about DISM and the Windows Component Store (WinSxS) than I’ve known before. In particular, I’ve been digging into DISM’s /Get-Packages capability, to look into the contents of WinSxS to see what is — and apparently isn’t — going on in there.

Reading about the output of the /format:table directive, I see that the state column can produce a range of values. These include the following, as mined from Learn.Microsoft.Com by Copilot (quoted verbatim):

  • NotPresent: The package is not present in the image. It has not been installed or added to the image.

  • UninstallPending: The package has been marked for uninstallation, but the process is not complete. There are some additional steps that need to be performed before the package is fully removed from the image.

  • Staged: The package has been added to the image, but it is not active. It can be activated by using the /Enable-Feature option.

  • Removed: The package has been removed from the image, but some metadata about it remains. This allows the package to be reinstalled if needed.

  • Installed: The package is installed and active in the image. It can be deactivated by using the /Disable-Feature option.

  • InstallPending: The package has been marked for installation, but the process is not complete. There are some additional steps that need to be performed before the package is fully installed and activated in the image.

  • Superseded: The package has been replaced by a newer version of the same package or a different package that provides the same functionality. The superseded package is still present in the image, but it is not active.

  • PartiallyInstalled: The package has been partially installed in the image, but some components or files are missing or corrupted. This may cause errors or malfunctions in the package or its dependencies.

Digging Deeper Into the Mystery…

As I understand it, the dism /online /cleanup-image /startcomponentcleanup command will remove at least some of the packages in the “Superseded” state from the WinSxS. So I fired up the following command to look into the component store on another test machine. It reports 4 reclaimable packages via DISM, and inspection of the /format:tables output from that PC via Notepad++ reports 106 instances of the term “Superseded” in that text file.

Next, I run the afore-cited “cleanup” command. This takes a few minutes to complete. When I run /analyzecomponentstore again, the number of reclaimable packages is zero (0). So I generate new /format:table output, and open it in Notepad++ again. This time, a search on “Superseded” produces 0 hits. My theory is that the cleanup flushes these items out of the WinSxS, and this data seems to confirm that.

And Now, Back to the X380 Yoga

Here’s where things get interesting. Even though /analyzecomponentstore is reporting 13 reclaimable packages, the /format:table output from that PC includes no instances of “Superseded” in its contents. Somehow, DISM is seeing something that I can’t see via this lens into the WinSxS contents. Therein lies the mystery.

I’ll keep digging and see what else I can learn. Stay tuned! This could get interesting — at least if you, like me, find this kind of thing engaging.

Facebooklinkedin
Facebooklinkedin

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

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

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