Windows Package Manager 1.12.420 Pre-release released
Microsoft just dropped another update for the Windows Package Manager (winget), rolling out pre-release version 1.12.420.
This isn't about gushing over it as some sort of must-have revolution; this is just the latest build aimed at making things work better behind the scenes and adding useful features.
Let's break down what changed, mainly because a bunch of cool stuff got added or improved:
First off, they've introduced something called an MCP server. You can interact with it directly using the command line; just run winget mcp. This update gives users more direct control over configuring their winget clients.
Then there's App Installer itself. They've done a bit of face-lifting here by switching from WinUI 2 to the newer WinUI 3. The Windows App Runtime dependency got bumped up to version 1.8, which is fine because we're already talking about prerelease versions.
In other news, they updated the manifest schema and validation process to version 1.12. This release includes two new features, FontInstallerType and NestedInstallerType. The big deal here is that you can now actually install fonts via winget using a special source (winget-fonts) without them being stuck in an experimental state.
In addition to these new features, the developers have resolved several bugs that users have reported or discovered internally. Previously, manifest validation caused headaches when it failed due to a file having UTF-8 BOM encoding with its header on line one, but this issue is now resolved and no longer causes failures.
Also addressed was a problem where upgrading a portable package would change its behavior regarding environment variables, specifically the PATH variable. Now, with dev mode disabled (a common scenario), that change shouldn't happen unexpectedly.
There's another fix related to sources: if you had multiple sources but fewer than two were explicitly non-explicit or openable, I know it sounds confusing, so let me rephrase slightly: problems accessing a source file when other issues might have been present have been sorted out. One of the issues that could cause confusion during installs has been resolved.
Speaking of App Installer, there was an issue with its progress reporting and launching on older Windows builds than expected, specifically for versions before Windows 10 build 18362 or Windows 11 build 2004 (it's important to note the specific OS version thresholds here). That seems fixed now.
And crucially, they have also patched a bug that prevented App Installer from starting altogether if it couldn't find an existing installation of the required Windows App Runtime component. Therefore, the overall execution is now smoother.
Under the hood, developers probably appreciate this upgrade too: the Repair-WGPM cmdlet got a rewrite to properly handle COM aspects (you might not care about that stuff, but knowing what's inside helps). This change affects how version information is retrieved (CP to 1.12). They also cleaned up some internal code related to signal handling and updated it consistently (CP to 1.12). Finally, support was added for linking export units (think dependencies or hooks) with packages located in subdirectories, a bit more flexibility for the packagers themselves.
Basically, this update smooths out several rough edges and adds font management as a solid core feature rather than needing special flags.
Release Windows Package Manager 1.12.420
This is a servicing release build of Windows Package Manager v1.12. If you find any bugs or problems, please help us out by filing an issue.
Release Windows Package Manager 1.12.420 · microsoft/winget-cli

