Windows Package Manager
{{short description|Official open-source package manager for Windows 10/11}}
{{Infobox software
| name = Windows Package Manager
| title = Windows Package Manager
| logo = Windows Package Manager logo.png
| logo_size = 64px
| screenshot = Windows Package Manager v0.1.41331 Preview 1115x624.png
| caption =
| developer = Microsoft
| released = {{Start date and age|{{Wikidata|property|single|P577}}}}
| latest release version = {{Wikidata|properties|references|edit|P348|P548=Q2804309}}
| latest release date = {{Start date and age|{{Wikidata|qualifier|single|P348|P548=Q2804309|P577}}}}
| latest preview version = {{Wikidata|properties|references|edit|P348|P548=Q3295609}}
| latest preview date = {{Start date and age|{{Wikidata|qualifier|single|P348|P548=Q3295609|P577}}}}
| programming language = {{Wikidata|properties|references|edit|P277}}
| repo = {{URL|https://github.com/microsoft/winget-cli}}
| operating system = Windows 10 or later
| platform =
| size = ~23 MB
| language = Chinese, English, French, German, Japanese, and others
| language count =
| language footnote =
| genre = {{Wikidata|properties|references|edit|P366}}
| license = {{Wikidata|properties|references|edit|P275}}
| website = {{URL|https://learn.microsoft.com/en-us/windows/package-manager/}}
}}
The Windows Package Manager (also known as winget) is a free and open-source package manager designed by Microsoft for Windows 10 and Windows 11. It consists of a command-line utility and a set of services for installing applications.{{cite web|url=https://www.theverge.com/2020/5/20/21264739/microsoft-windows-package-manager-preview-download|title=Microsoft's new Windows Package Manager is already better than the Windows Store|author=Tom Warren|website=The Verge|date=20 May 2020}}[https://devblogs.microsoft.com/commandline/windows-package-manager-preview/ Windows Package Manager Preview | Windows Command Line] Independent software vendors can use it as a distribution channel for their software packages.
History
Windows Package Manager was first announced at the Microsoft Build developer conference in May 2020.[https://venturebeat.com/2020/05/19/microsoft-windows-package-manager-powertoys/ Microsoft debuts Windows Package Manager for your dev environment | VentureBeat]
Before deciding to develop Windows Package Manager, the team behind it explored Chocolatey, Scoop, Ninite, AppGet, Npackd and the PowerShell-based OneGet. 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.{{cite news|url=https://www.theverge.com/2020/5/28/21272964/microsoft-winget-windows-package-manager-appget-copied|title=Microsoft copied its new Windows Package Manager from rival AppGet, claims developer|first=Tom|last=Warren|date=28 May 2020|website=The Verge|publisher=Vox Media|access-date=June 1, 2020|language=en}} 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.{{cite web|access-date=2020-06-01|title=Embrace and kill? AppGet dev claims Microsoft reeled him in with talk of help and a job – then released remarkably similar package manager|url=https://www.theregister.com/2020/05/28/appget_replaced_by_winget_says_dev/|first=Tim|last=Anderson|website=The Register|date=May 28, 2020}}{{cite web|first1=Ashley|last1=Stewart|access-date=June 1, 2020|title=A developer says Microsoft led him on about a job and buying his tool before going silent and releasing its own very similar service. Now he wants an explanation and credit for his work.|url=https://www.businessinsider.com/appget-developer-wants-credit-for-inspiring-microsoft-package-manager-2020-5|website=Business Insider|date=May 28, 2020}} Microsoft responded with a blog post crediting a number of winget's features to AppGet.{{cite web|first1=Liam|last1=Tung|access-date=2020-06-02|title=Windows 10: Microsoft now credits maker of package manager it 'copied' – but offers no apology|url=https://www.zdnet.com/article/microsoft-credits-maker-of-package-manager-it-copied-for-windows-10-but-offers-no-apology/|website=ZDNet|date=June 1, 2020}}[https://www.neowin.net/news/microsoft-gives-appget-creator-credit-for-windows-package-manager Microsoft gives AppGet creator credit for Windows Package Manager - Neowin]{{cite web|first1=Tom|last1=Warren|access-date=2020-06-02|title=Microsoft finally gives AppGet developer the credit he deserves|url=https://www.theverge.com/2020/6/2/21277863/microsoft-winget-windows-package-manager-appget-response-credit-comment/|website=The Verge|date=April 20, 2022}}
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.{{cite web|first1=Tim|last1=Anderson|access-date=2021-05-28|title=Microsoft releases command-line package manager for Windows (there are snags)|url=https://www.theregister.com/2021/05/27/microsoft_releases_commandline_package_manager/|website=The Register|date=May 27, 2021}}
Overview
The winget tool supports installers based on EXE, MSIX, and MSI.{{cite web | url=https://learn.microsoft.com/en-us/windows/package-manager/winget/ |title=Use the winget tool to install and manage applications | publisher=Microsoft}} The public Windows Package Manager Community repository hosts manifest files for supported applications in YAML format.[https://github.com/microsoft/winget-pkgs GitHub - microsoft/winget-pkgs: The Microsoft community Windows Package Manager manifest repository] In September 2020, Microsoft added the ability to install applications from the Microsoft Store and a command auto-completion feature.{{cite web|first1=Lawrence|last1=Abrams|access-date=2020-10-10|title=Windows 10 Package Manager can now install Microsoft Store apps|url=https://www.bleepingcomputer.com/news/microsoft/windows-10-package-manager-can-now-install-microsoft-store-apps/|date=September 23, 2020|website=Bleeping Computer}}
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.{{cite web|first1=Liam|last1=Tung|access-date=2020-06-02|title=Microsoft's Windows Package Manager: This command-line tool can install all your apps|url=https://www.zdnet.com/article/microsofts-windows-package-manager-this-command-line-tool-can-install-all-your-apps/|date=May 21, 2020|website=ZDNet}}[https://petri.com/how-to-use-windows-package-manager How to Use Windows Package Manager - Petri]
The winget client source code and the community manifest repository are licensed under MIT License and hosted on GitHub.{{Cite web|url=https://github.com/microsoft/winget-cli/ |title=GitHub - microsoft/winget-cli: Windows Package Manager CLI (a.k.a. winget)|date=May 20, 2020|via=GitHub}}
=Commands<ref name="microsoft-learn" />=
class="wikitable" border="6"
! Name ! Description |
{{mono|configure}}
| Configures the system into a desired state |
---|
{{mono|export}}
| Exports a list of the installed applications |
{{mono|features}}
| Show status of experimental features |
{{mono|hash}}
| Hash installer files |
{{mono|import}}
| Install all the applications in a file |
{{mono|install}}
| Install the given application |
{{mono|list}}
| Display installed applications |
{{mono|pin}}
| Manage package upgrade pins |
{{mono|show}}
| Show information about the given application |
{{mono|search}}
| Search and show basic information of applications |
{{mono|settings}}
| Open winget configuration settings |
{{mono|source}}
| Manage application sources |
{{mono|upgrade}}
| Upgrades the given application |
{{mono|uninstall}}
| Uninstall the given application |
{{mono|validate}}
| Validate a manifest file |
Examples
Search for and installs variable {{code|$PKG_ID}}:
winget install --id=$PKG_ID -e
List all installed packages:
winget list
Update all packages:
winget upgrade --all
= Package ID examples =
- Visual Studio Code, a code editor from Microsoft: "Winget PKG of Visual Studio Code" [https://winstall.app/apps/Microsoft.VisualStudioCode https://winget.run/pkg/Microsoft/VisualStudioCode] {{code|Microsoft.VisualStudioCode}}
- Google Chrome: "Winget PKG of Google Chrome" [https://winstall.app/apps/Google.Chrome https://winget.run/pkg/Google/Chrome] {{code|Google.Chrome}}
- Mozilla Firefox: {{code|Mozilla.Firefox}}
- Brave: {{code|BraveSoftware.BraveBrowser}}
- Vivaldi: {{code|VivaldiTechnologies.Vivaldi}}
See also
{{Portal|Free and open-source software}}
References
{{Reflist}}
External links
- [https://learn.microsoft.com/en-us/windows/package-manager/ Windows Package Manager | Microsoft Docs]
- {{GitHub|https://github.com/microsoft/winget-cli}}
- {{GitHub|https://github.com/microsoft/winget-pkgs}}
- [https://www.marticliment.com/unigetui/ UniGetUI (formerly WingetUI)] - Community-made GUI for Winget
{{Package management systems}}
{{Software digital distribution platforms}}
{{Microsoft FOSS}}
Category:Command-line software
Category:Free package management systems
Category:Free software programmed in C++
Category:Microsoft free software