Category Archives: Insider stuff

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!

Facebooklinkedin
Facebooklinkedin

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.

Facebooklinkedin
Facebooklinkedin

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!

 

 

Facebooklinkedin
Facebooklinkedin

Windows 10 Copilot Remains Elusive

There’s a new KB in circulation that claims to extend the reach of Copilot in Windows 10. That would be KB5033372, released December 12. But alas: on the lone eligible  physical PC and various Windows VMs here at Chez Tittel, Windows 10 Copilot remains elusive. It runs fine inside Edge, but will not show up as a Taskbar or Start menu item on any of their desktops. Sigh.

Why Windows 10 Copilot Remains Elusive

A quick visit to the KB announcement (link in preceding paragraph) gives me an excellent idea why my PC isn’t getting Copilot. Because some multi-monitor set-ups are subject to “mysterious icon migration” across or among desktops, MS has blocked it for such configs. Here’s what they say:

To prevent users from encountering this issue, Copilot in Windows (in preview) might not be available on devices that have been used or are currently being used in a multimonitor configuration.

And wouildn’t you know it: my Windows 10 PC runs with dual Dell UltraSharp 2717 monitors. That definitely accounts for my physical PC’s lack of Copilot. But I’m not so sure about the VMs. It may stem from my typical mode of access to them (using one of the two just-mentioned monitors) or it may be something else.

A Ray of Hope?

In the same KB announcement already cited MS also says that they’re “working on a solution and will provide an update in an upcoming release.” Here’s hoping that release is upcoming sooner rather than later!

And once again, I’m a Johnny-come-lately among all those already in the vanguard. But hey: that exactly the way that things go here in Windows-World. Once more with feeling, I guess!!

Facebooklinkedin
Facebooklinkedin

Recurring PowerShell Update Issue Easily Fixed

Deja vu! With the introduction of version 7.4.0, MS once again changed the PowerShell (PS) installer. That means Winget won’t update PS directly; one must visit the GitHub PS page and grab a new installer from there. Afterward, as shown in the lead-in graphic, old(er) version(s) of PS still show up when WinGet upgrade is run. Fortunately this recurring PowerShell update issue is easily fixed. Let me explain…

Fixing This Recurring PowerShell Update Issue

Take a look at the lead-in graphic. It shows a single upgrade to PowerShell, from version 7.3.10 to 7.4.0 is available. But when I try to use winget to do the job, it reports a change in installer methods and won’t handle this task. This requires a trip to GitHub (the whole process is described in my November 17 post) to grab and install PS using its Microsoft Installer (.MSI) file instead.

But there’s a catch: as you can see in the Apps portion of the lead-in graphic, the PS installer does NOT clean up older versions. Thus, not just one, but two older versions of PS show up therein — namely 7.3.10 and a 10/25/2023 Preview version. Winget will report that the 7.3.10 version needs an update because 7.4.0 is available. Thus, you need to uninstall that version to stop this warning.

So that’s just what I did. And because I’m not using the PS Preview any more, either, I uninstalled it too. Problem solved. But here’s a request to the PowerShell team: please add a check for older stable versions (e.g. 7.3.10 in this case) and offer to uninstall it during the new stable version install process. It would make life ever so much easier, thanks!

Fingers crossed that they agree. I’ll be sure to copy this to the winget and PowerShell teams leads when I tweet this item out later this morning, too. That said, the new PS window notification does instruct users to “uninstall the package and install the newer version” so maybe they’re not interested in tackling this job. We’ll see…

Recurring PowerShell Update Issue.notification

I can’t say MS doesn’t warn users. I can say I didn’t see it right away, though…

Facebooklinkedin
Facebooklinkedin

Counting MS 2006 Drivers

Yesterday’s post about generic, MS-supplied device drivers got me thinking. These drivers bear an issue date of 6/21/2006, which coincides with Windows Vista’s RTM date. To be more specific, I wondered how many such items might appear in the Windows DriverStore. With counting MS 2006 drivers in mind, I asked Copilot for a PowerShell script to count them for me. Just for grins I compared that count to the total items as well.

Scripting Out Counting MS 2006 Drivers

You can see the results of my query to Copilot in the lead-in graphic. That query was “Write me a PowerShell script to display number of Windows drivers dated 6/21/2006 and total driver count.” As it turned out, on my Lenovo X380 ThinkPad running Windows 11, those numbers were 517 (2006 count) and 701 (total count). On my i7Skylake homebuilt system running Windows 10, those numbers were 511 and 672, respectively.

I’ll show the PowerShell commands below, but first I want to observe I had NO IDEA that MS supplies roughly 5 of every 7 drivers that Windows uses (over 70%). From looking at the items in the DriverStore more closely thanks to PowerShell, I see that this is because many of them are class, bus and service drivers. You can thus understand them as part of the driver stack between the OS and the function driver (at the bottom of the stack, it actually interacts with devices).

Here’s how MS shows this architecture in its MS Learn article “What is a driver?

Counting MS 2006 Drivers.diagram
The driver at the bottom of the stack that communicates with a device is a function driver; according to the MS Learn item, filter drivers do “auxiliary processing” which may involve monitoring, verifying, translating, or otherwise manipulating in- and out-bound stack communications. By convention app to device communication moves down the stack, while device to app communication goes the other way.

PowerShell Details

Here’s the PowerShell that Copilot handed to me in response to my query, including comments (start with a # character):

#Get all the drivers from the online Windows image
$drivers = Get-WindowsDriver -Online -All
# Filter the drivers by the date of June 21, 2006
$drivers_2006 = $drivers | Where-Object {$_.Date -eq "6/21/2006"}
# Count the number of drivers with that date
$drivers_2006_count = $drivers_2006.Count
# Display the number of drivers and their names
Write-Output "There are $drivers_2006_count drivers dated 6/21/2006 in the online Windows image."
Write-Output "The names of the drivers are:"
$drivers_2006 | ForEach-Object {Write-Output $_.OriginalFileName}
# Display the total number of drivers
$alld = $drivers | Where-Object {$_.Inbox -eq "True"}
Write-Output "There are $alld.count total Windows drivers in the online Windows image."

Some of the lines shown above break across two lines in the browser, but are actually single PowerShell commands. If you run them, you must put them on a single line. I just ran the commands in sequence, one at a time as you can see in the lead-in graphic. I cheated, though: I simply output $alld.count in the last line shown. The PowerShell shown above wraps this in some explanatory text.

Facebooklinkedin
Facebooklinkedin

2006 Microsoft Device Driver Date

Here’s an interesting bit of administrivia. Look at any number of generic drivers inside Microsoft Device Manager. Invariably you’ll see some interesting and apparently ancient items. They’ll show Device Provider: Microsoft and a Driver Date of 6/21/2006. On a Windows 11 test machine just now, for example, I saw that very date under six-plus headings. That included Batteries, Bluetooth, ACPI, Remote Display Adapter, Device Firmware,  and USB . What’s special about this 2006 Microsoft Device Driver date anyway? Good question!

Understanding the 2006 Microsoft Device Driver Date

As it turns out, 6/21/20016 was the day Windows Vista released to manufacturing  (aka RTM date). Since then, when MS supplies a driver for a non-Microsoft device it uses this date. This pushes the driver far back in time. As Device Manager chooses a driver to install it picks the best match for its device ID AND the one with the highest version number and the most recent date.

Why do this? If the OEM (or some other 3rd party with driver signing authority) produces a driver, it will bear a newer date (and possibly a higher version number). Thus, the other driver gets selected and installed. This ensures Windows always installs the best possible driver for any device. And, most of the time, it works!

The MS Driver Date Rationale

As MS updates generic drivers, it increments the driver version number. But it leaves the date at 6/21/2006. That way if a third-party driver comes along, it will almost always trump the MS generic driver version.

Why use the Vista date? Raymond Chen’s MS blog on this topic (2/8/2017) explains things in a bit more detail. A PC Magazine story from the same year supplies another crucial quote from an MS developer:

since only drivers as far back as Vista are compatible with new versions of Windows, every driver should have a date newer than Vista RTM, preserving the driver you installed as the best ranked driver.

So now we know why certain MS-supplied drivers go back to the start of the “modern Windows era.” Good stuff!

 

Facebooklinkedin
Facebooklinkedin

New Canary Notepad Builds Character

When I saw @JenMsft’s Tweet yesterday,  I knew I had to have it. A new Notepad version now includes character counts in the (bottom-line) status bar. If you squint, and look bottom right, you can see it in the lead-in graphic: 10,852 characters. Thus, when I declaim that the new Canary Notepad builds character, I’m not talking about personality traits like gumption and perseverance. I’m talkin’ numbers, baby!

Exactly How New Canary Notepad Builds Character

Over time, MS has been revamping and improving the Notepad app. Indeed, it now comes from the MS Store and lives in the Program Files\WindowsApp file hierarchy (version 11.2311.29.0 has these particular goods). Indeed, I’ve seen some discussion that it might even gain more code editing and formatting smarts, a la Notepad++.

But this current version far exceeds the capability of its predecessor (e.g. the version still running in Windows 10). That older iteration lacks the bottom status bar completely. It’s got no settings controls, either: you must do all that stuff using menu bar entries.

A Different Update Drill…

Optimistically, I went looking for the newest Notepad version on one of my Canary test PCs when the news about the character counts came out. I should’ve known better. I had to open the Store, click the Library entry, then Update all. After that, as you can see in the closing screencap below, I obtained “new Notepad satisfaction.”

New Canary Notepad Builds Character.in-store

Once I visited the Store, I was able to update Notepad to see its new character count ability.

Facebooklinkedin
Facebooklinkedin

Team Lead Sez: Winget Upgrade Winget

If you read this blog, you know I’ve been reporting for months about interesting issues that occur in PowerShell when winget tries to update itself. In a Tuesday Tweet MS Team Lead Sez: Winget Upgrade Winget. I take this to mean that they’ve solved the issues (for the stable version at the moment, previews planned for some future date) related to winget upgrading itself. Good stuff!

Why Team Lead Sez: Winget Upgrade Winget

I’ve interacted with the afore-mentioned Winget Team Lead, Demitrius Nelon, repeatedly in the last few months on this very topic. In fact, we’ve agreed that the issues of an application updating itself can be both tricky and challenging (it’s a kind of Catch-22, in the most classic sense).

And now, I find myself in an interesting situation. I can’t wait for the next stable version of winget to come along, so I can try updating it using winget itself. But the most recent release dates back to November. I can’t find any info on when the next release is coming out … goes off to message Demitrius on X … will report any responses received back here.

Note added 2 hrs later: Mr.Delon resonded to my inquiry about when the next winget stable release might hit. According to his reply,it could happen for an incremental winget 1.6 version before year’s end. If not, 1.7 is scheduled for February 2024. Now we know!

I just checked a representative sample of test and production PCs and there’s nothing in the queue for a winget self-upgrade just yet. But it should be interesting to see how it all plays out. Stay tuned: I’ll keep you posted.

Facebooklinkedin
Facebooklinkedin

Windows 10 Lifecycle Changes

If I’m reading its HTML metadata correctly, Microsoft updated its Lifecycle FAQ = Windows document yesterday (December 5).  That’s when they added information about Extended Support Updates (ESUs) beyond the Windows 10 EOL date of October 14, 2025. ESU is a paid-for kind of support that allows licensees to get updates even after that cut-off date. Let’s explore what these Windows 10 Lifecycle changes  could mean.

Exploring Windows 10 Lifecycle Changes

For previous versions of Windows (e.g. 7) MS offered ESUs only to MS customers with existing paid-for support or licensing agreements. If I’m reading the afore-linked FAQ’s text correctly (see lead-in graphic), ordinary users (“individual users”) will also be eligible to pay for and receive these updates. That should be interesting.

I asked Copilot this question “How much did MS charge for ESU on Windows 7?” Here’s how it answered (superscript numbers 1-3 link to the sources for this information):

According to the web search results, Microsoft charged different amounts for Extended Security Updates (ESU) for Windows 7 depending on the edition and the year of purchase. For Windows 7 Professional, the ESU prices were $50, $100, and $200 per device for the first, second, and third year respectively1For Windows 7 Enterprise, the ESU prices were $25, $50, and $100 per device for the same period1However, some customers could get ESU for Windows 7 for free through Windows Virtual Desktop or other support contracts23.

Given that EOL for Windows 7 was January 14, 2020, let’s factor in some inflation. That makes it exactly 5.75 years between that date and the Windows 10 EOL. Using a low-ball average inflation rate of 2.5% over that period means adjusting the foregoing numbers by 14.4% or thereabouts. That means $50 becomes $57, $100 → $114, $200 → $228. You can do the math for the rest (but I think the Professional prices are the ones to go by).

Are They Ready to Rumble?

I’m forced to speculate that MS is adding individual consumers to its upcoming ESU coverage because they believe they left money on the table during the Windows 7 extended service period. This essentially brings businesses and users who are willing to pay for coverage, but who don’t have a licensing agreement or equivalent already in place with MS. It could easily be as big a revenue stream as the covered Windows 7 population was when EOL rolls around.

Inertia is indeed a strong force in business affairs. And sometimes, smaller businesses — especially sole proprietorships — can strongly resist change. This should be interesting to watch and try to figure out. I’m not sure if I should be impressed or appalled. Stay tuned: I’ll tell you…

PS Thanks to Sergey Tkachenko at WinAero.com for bringing this to my attention. I figured out the date info on my own…

Facebooklinkedin
Facebooklinkedin