Windows Package Manager | |
---|---|
![]() | |
![]() | |
Developer(s) | Microsoft |
Initial release | 13 May 2020 |
Stable release | |
Preview release | |
Repository | github |
Written in | C++, [3] [4] XML, [3] C, [3] C#, [3] Python, [3] Extensible Application Markup Language, [3] CMake, [3] Ada, [3] shell script, [3] Perl, [3] Pascal, [3] XSLT, [3] Autoconf, [3] HTML, [3] PowerShell, [3] DIGITAL Command Language, [3] JavaScript, [3] make, [3] assembly language [3] ![]() |
Operating system | Windows 10, Windows Server 2025, or later |
Platform | x86, x86-64, ARM32, ARM64 |
Size | ~23 MB |
Available in | Chinese (Simplified), Chinese (Traditional), English, French, German, Italian, Japanese, Korean, Portuguese (Brazil), Russian |
Type | package manager, installation ![]() |
License | MIT License [5] ![]() |
Website | learn |
The Windows Package Manager (also known as winget) is a free and open-source package manager designed by Microsoft for Windows 10, Windows 11, and Windows Server 2025. [6] It consists of a command-line utility and a set of services for installing applications. [7] [8] Independent software vendors can use it as a distribution channel for their software packages.
Windows Package Manager was first announced at the Microsoft Build developer conference in May 2020. [9] [8]
Before deciding to develop Windows Package Manager, the team behind it explored Chocolatey, Scoop, Ninite, AppGet, Npackd and the PowerShell-based OneGet. [8] After the announcement of winget, the developer of AppGet, Keivan Beigi, claimed that Microsoft interviewed him in December 2019 under the pretense of employment and acquiring AppGet. [10] After talking with Beigi, Microsoft allegedly ceased communication with him until confirming one day before the launch of winget that they would not be hiring him. Beigi was dismayed at Microsoft's lack of attribution of AppGet. The release of winget led Beigi to announce that AppGet would be discontinued in August 2020. [10] [11] [12] Microsoft responded with a blog post crediting a number of winget's features to AppGet. [13] [14] [15]
Microsoft released version 1.0 of Windows Package Manager on May 27, 2021. The Microsoft Community Repository included over 1,400 packages at that date. [16] By May 2025 it had reached 9,000 packages.
The winget tool supports installers based on EXE, MSIX, and MSI. [17] The public Windows Package Manager Community repository hosts manifest files for supported applications in YAML format. [18] In September 2020, Microsoft added the ability to install applications from the Microsoft Store and a command auto-completion feature. [19]
To reduce the likelihood of non-Microsoft-approved software, including malicious software, making its way into the repository and onto the target machine, Windows Package Manager uses Microsoft SmartScreen, static analysis, SHA256 hash validation and other processes. [20] [21]
Various limitations apply to which packages that are added to the winget manifest repository. Among them as of 1.10 is that the software must support silent installations (unless it is a fully portable software), cannot be a .tar.gz, .7z, or .rar compressed folder, cannot wholly require hardwares (e.g. NVIDIA drivers), cannot be a self-extracting archive, and the software host cannot return HTTP 403 or time out when downloading through winget.
The winget client source code and the community manifest repository are licensed under MIT License and hosted on GitHub. [22] [18]
It does not offer ways to list every available app at once, nor does it support automatic package updates on timed schedules. Various third-party tools like Winstall and Winget-AutoUpdate respectively are designed to fill those gaps. Winget also does not support building from programs' source codes.
Name | Description |
---|---|
configure | Configures the system into a desired state |
export | Exports a list of the installed applications |
features | Show status of experimental features |
hash | Hash installer files |
import | Install all the applications in a file |
install | Install the given application |
list | Display installed applications |
pin | Manage package upgrade pins |
show | Show information about the given application |
search | Search and show basic information of applications |
settings | Open winget configuration settings |
source | Manage application sources |
upgrade | Upgrades the given application |
uninstall | Uninstall the given application |
validate | Validate a manifest file |
Search for and installs variable $PKG_ID
:
wingetinstall--id=$PKG_ID-e
List all installed packages:
wingetlist
Update all packages:
wingetupgrade--all
Microsoft.VisualStudioCode
Google.Chrome
Mozilla.Firefox
BraveSoftware.BraveBrowser
VivaldiTechnologies.Vivaldi
{{cite web}}
: Missing or empty |title=
(help)