Microsoft is rolling out the latest version of its Windows Package Manager (WinGet) for Windows 11. With the release of WinGet 1.4, the company is adding zip support to the service, as well as several other new features.
Back at Build 2020, Microsoft introduced a new Windows Package Manager (Winget) for Windows 10. The new tool allows developers to easily download services to help app development. You may remember the open source solution found controversy after the creator of a similar tool (AppGet) argued Microsoft has stolen his idea.
Windows Package Manager provides tools to help developers access features that are not available to them from the Microsoft Store. That's important for adding more tools to Windows app development.
For the new update, WinGet 1.4 also brings Command Aliases, Show improvements, and upgrades to the install flow.
Full WinGet 1.4 Changelog
“WinGet Show Improvements
A few more manifest values like tags and purchase URL were added to the output (if they are present) of winget show . Below I have an example running winget show oh-my-posh -s winget. Since Oh My Posh is available both in the Microsoft Store and the Windows Package Manager community repository, I narrowed the results down to the “winget” source. If you like the colorful display in my prompt, that's the prompt theme engine I'm using.
Muscle memory can be hard to overcome. If you've ever tried to type “dir” on a Linux system or “ls” on Windows, you know what I mean. Several new command aliases have been added to WinGet that might help a little. When you run winget with no arguments, the default help displays the available commands. If you drill in a bit running winget –help you will see if any aliases are available. Below, you can see “find” is an alias for “search”. Other command aliases include add for install, update for upgrade, remove and rm for uninstall, ls for list, and config for settings.
Install / Upgrade Flow Enhancements
Some packages require an explicit argument to be passed in order to perform an upgrade. This was causing winget to fail if a user ran winget install and the package was already installed on the machine. We made some additional enhancements to detect that the package was already installed and switch to the upgrade flow. If you don't want the upgrade, you can pass –no-upgrade. This is most commonly encountered in scritped scenarios. We've also noticed several packages can upgrade themselves, so our default behavior is to allow them to do so. If you run winget upgrade –all and one or more of these packages are encountered, they will be skipped. If you want to include them, just add –include-explicit.
WinGet now supports installing packages contained within a .zip archive. This feature builds on the existing support for portable packages, and existing installer support for MSIX, MSI, and EXE-based installers. Our initial support includes either a single installer, or (one or more) portable package(s). We've kept the Issues and PRs (Pull Requests) open at GitHub and added the “.zip” label to them. Once this release rolls out to the majority of supported Windows systems, we will begin validating the existing PRs and accepting new ones.
Wait, there's more. (I couldn't help myself) Sometimes when you're scripting things, or debugging, you want a prompt. It can be quite frustrating to see a terminal window display some text and then disappear before you can read everything. Just add –wait.”
Tip of the day: Windows now has a package manager similar to Linux called “Winget”. In our tutorial, we show you how to install and use this new tool that allows the quick installation of apps via PowerShell or a GUI.