winget (the Windows Package Manager) is Microsoft’s answer to the classic Linux experience of apt or dnf. It allows you to discover, install, upgrade, and configure applications via the command line. This is ideal and arguably safer, as it helps avoid hunting for downloads from the Internet which could lead to problems should you run into a sketchy site with a mal intent.
How It Works
Under the hood, winget is a client interface for a massive repository of community-vetted and developer-submitted software. While tools like apt and dnf manage software specifically packaged for a Linux distro, winget acts more like an orchestrator in Windows. It finds the installer for the app you want, downloads it, and runs it (often silently) with the proper arguments.
Key Differences from apt/dnf
While the workflow feels familiar, there are some distinct Windows-specific nuances:
- Manifest-Based: Instead of repositories of binaries, winget relies on “manifests” (YAML files) that tell the tool exactly where the installer lives and how to run it.
- System-Wide vs. User: winget can handle both, but since it’s Windows, it often has to navigate User Account Control (UAC) prompts if an installer requires administrative privileges.
- Source Diversity: By default, it uses the Microsoft Community Repository, but it can also pull from the Microsoft Store. You can even add your own private repositories for internal tools.
Useful Commands to Get Started
If you’re comfortable with Linux package managers like apt, these will feel like second nature:
| Action | Winget Command | apt Equivalent |
| Search | winget search [app] | apt search |
| Install | winget install [app] | apt install |
| Upgrade All | winget upgrade --all | apt upgrade |
| Uninstall | winget uninstall [app] | apt remove |
| Check Info | winget show [app] | apt show |
| List available updates | winget update | apt update |
Below is an example of listing all available updates. You could then follow up with winget upgrade –all, to install all of them.
PS C:\> winget update
Name Id Version Available Source
-----------------------------------------------------------------------------------------------------------------------
Notepad++ (64-bit x64) Notepad++.Notepad++ 8.9.4 8.9.6.4 winget
LibreOffice 26.2.3.2 TheDocumentFoundation.LibreOffice 26.2.3.2 26.2.4.2 winget
Dell Command | Update for Windows Universal Dell.CommandUpdate.Universal 5.4.0 5.7.0 winget
Microsoft Visual C++ 2010 x64 Redistributable - … Microsoft.VCRedist.2010.x64 10.0.30319 10.0.40219 winget
Microsoft Edge Microsoft.Edge 149.0.4022.62 149.0.4022.69 winget
Microsoft Visual C++ 2010 x86 Redistributable - … Microsoft.VCRedist.2010.x86 10.0.30319 10.0.40219 winget
Microsoft Windows Desktop Runtime - 6.0.12 (x64) Microsoft.DotNet.DesktopRuntime.6 6.0.12 6.0.36 winget
Microsoft Visual C++ 2015 Redistributable (x86) -… Microsoft.VCRedist.2015+.x86 14.0.23026.0 14.51.36247.0 winget
Brother iPrint&Scan Brother.iPrintScan 10.5.0.74 15.2.0.11 winget
Microsoft Visual C++ 2015-2022 Redistributable (x… Microsoft.VCRedist.2015+.x64 14.44.35211.0 14.51.36247.0 winget
10 upgrades available.
PS C:\>
