WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
What exactly is WinGet and where does it come from?
WinGet is Microsoft's official, open-source Windows Package Manager, included in modern versions of Windows 10 and Windows 11 via the App Installer. Think of it as apt or yum for Windows – it lets you perform everything from searching and installing to upgrading and uninstalling software through simple command-line instructions.
Can I script WinGet installations and updates?
Yes – one of WinGet's strongest features is scripting. You can run winget install or winget upgrade with multiple package names in a single command, and include silent install switches (--silent, -h) to automate the process. Many users combine this with tools like Windows Task Scheduler or config management systems for fully automated setups.
Can WinGet install Microsoft Store apps, and how?
Yes. Since version 1.8, WinGet supports installing apps from the Microsoft Store using the -s msstore source. You can also use winget download to fetch store apps offline for deployment later.
Is WinGet secure and enterprise-ready?
WinGet uses SmartScreen, static analysis, SHA-256 hash validation, and digital signing checks to ensure a high level of trust in downloaded packages. It also supports custom or private repositories, making it suitable for internal enterprise deployments.
How do I perform system-wide installs for all users?
WinGet supports machine-wide installations with either --global or -g. This installs software for every user on the computer – but requires administrator privileges.
Features
- HTTP Proxy support
- WinGet Configuration Mixed Elevation Mode support via COM
- WinGet Package Icon support via COM
- PowerShell Modules work on ARM64
- Control Characters shouldn't be allowed in user generated content
- Downloading MSStore packages
- Extracting archives using tar.exe
- V2 Index
What's New
- Remove experimental from index v2 by @JohnMcPMS in #4611
- Fix for attempted use of capability API before it was introduced by @JohnMcPMS in #4623