Windows Package Management: A Comprehensive Guide to WinGet
For many years, Windows was missing a handy feature that Linux users took for granted: an efficient package manager. This tool streamlines the process of installing, updating, and configuring software.
To remedy this, Microsoft launched the Microsoft Store, offering only APPX and MSIX based applications.
Let's dive into understanding:
- What is a package manager?
- How does Windows adapt to the need for better software management?
- And what WinGet has to offer?
What is a Package Manager vs Microsoft Store?
What exactly is a package manager, and why is it so essential? A package manager is like a toolbox that helps you automatically install, update, and configure your software. In systems like Linux, there are two ways to do this:
- Use a visual interface called a "Software Repository";
- Or, if you're more experienced, you might prefer to install the software using text-based commands.
With Windows, Microsoft opened the publishing of MSI and EXE setup applications in the Microsoft Store, but the Microsoft Store itself cannot be considered a package manager as it lacks the command line interface.
However, Microsoft acknowledged this gap in the OS and introduced the open source package manager called WinGet.
Understanding Windows Package Manager
Throughout the years, 3rd party package managers like Chocolatey, Scoop, Ninite, and Npackd have been popular. Among them, Chocolatey stands out with various solutions such as:
- Free (open source)
- Pro Edition
- Enterprise
The community package repository contains (at the moment of writing this article) more than 9.5k packages from which you can choose to install and maintain by using Chocolatey.
However, the community packages are not verified, supported or guaranteed in any way, this is why you have a separate repository for the Enterprise model.
Scoop is another package manager like Chocolatey, but never intended for Enterprise usage, but like the community version of Chocolatey the repository is most likely not checked for any malicious applications and publishing of the applications can be done easily.
What is WinGet?
Announced in May 2020, WinGet is a free and open source tool designed for both Windows 10 and 11 users. It supports EXE, MSIX, APPX, and MSI packages (excluding APP-V, ThinApp, or other types of installers).
WinGet comes with multiple repositories from where we can search and install our applications. Key features include:
- Smart Screen;
- Static analysis;
- And SHA256 hash validation to prevent malicious packages.
The best part? WinGet comes directly from the OS, eliminating the need for additional installations.
Usage of WinGet
WinGet operates with specific instructions for various package tasks.
If you open CMD as administrator, you can type “winget” to view all the available commands, simplifying tasks like installation, upgrade, and uninstallation:
Example: To install Advanced Installer via WinGet you need to search for “AdvancedInstaller” just to make sure that it’s available.
Ta Da! WinGet found Advanced Installer in only one source, the WinGet repository.
In other cases the same application can be found on multiple sources:
Important: If you want to install a specific application from a specific repository you need the exact ID.
PowerToys can be found both on Microsoft Store, and the WinGet repository.
If we want to install the PowerToys from the WinGet repository then we would need to use the Microsoft.PowerToys ID.
- Installing Advanced Installer via WinGet is quite easy, you only need to input the following command:
Winget install Caphyon.AdvancedInstaller
Easy right?
- Uninstalling applications via WinGet is equally simple, just use this command:
Winget uninstall Caphyon.AdvancedInstaller
WinGet Integration
Starting with Windows 11 22H2, Microsoft released a preview of WPM Integration with Intune, providing more insights into the usage of WinGet.
We have covered this topic more extensively in our article: How to use the Winget tool to deploy apps in Microsoft Intune.
Conclusion: A New Era in Windows Package Management
Windows has come a long way from having no dedicated package manager to innovating WinGet, a versatile tool tailored for modern-day needs. From its compatibility with various package types to easy commands, WinGet is shaping the future of software installation and management on Windows platforms. Its integration with Intune hints at more exciting developments to come.
Whether you're an individual user, developer, or part of an enterprise, embracing WinGet can simplify and enhance your experience with Windows software.
Explore seamless software management with Advanced Installer's 30-day free trial today!