Windows Package Manager

Last updated
Windows Package Manager
Developer(s) Microsoft
Initial release13 May 2020;4 years ago (13 May 2020)
Stable release
1.7.11261 [1]   OOjs UI icon edit-ltr-progressive.svg / 8 May 2024;32 days ago (8 May 2024)
Preview release
1.8.1133-preview [2]   OOjs UI icon edit-ltr-progressive.svg / 24 April 2024;46 days ago (24 April 2024)
Repository github.com/microsoft/winget-cli
Written inC++, [3] Extensible Markup Language, [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]   OOjs UI icon edit-ltr-progressive.svg
Operating system Windows 10 or later
Size ~23 MB
Available inChinese, English, French, German, Japanese, and others
Type package management system, installation  OOjs UI icon edit-ltr-progressive.svg
License MIT License [4]   OOjs UI icon edit-ltr-progressive.svg
Website 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. [5] [6] Independent software vendors can use it as a distribution channel for their software packages.

Contents

History

Windows Package Manager was first announced at the Microsoft Build developer conference in May 2020. [7] [6]

Before deciding to develop Windows Package Manager, the team behind it explored Chocolatey, Scoop, Ninite, AppGet, Npackd and the PowerShell-based OneGet. [6] 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. [8] 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. [8] [9] [10] Microsoft responded with a blog post crediting a number of winget's features to AppGet. [11] [12] [13]

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. [14]

Overview

The winget tool supports installers based on EXE, MSIX, and MSI. [15] The public Windows Package Manager Community repository hosts manifest files for supported applications in YAML format. [16] In September 2020, Microsoft added the ability to install applications from the Microsoft Store and a command auto-completion feature. [17]

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. [18] [19]

The winget client source code and the community manifest repository are licensed under MIT License and hosted on GitHub. [20] [16]

Commands [15]

NameDescription
configureConfigures the system into a desired state
exportExports a list of the installed applications
featuresShow status of experimental features
hashHash installer files
importInstall all the applications in a file
installInstall the given application
listDisplay installed applications
pinManage package upgrade pins
showShow information about the given application
searchSearch and show basic information of applications
settingsOpen winget configuration settings
sourceManage application sources
upgradeUpgrades the given application
uninstallUninstall the given application
validateValidate a manifest file

Examples

Search for and installs variable $PKG_ID:

wingetinstall--id=$PKG_ID-e

List all installed packages:

wingetlist

Update all packages:

wingetupgrade--all

Package ID examples

See also

Related Research Articles

<span class="mw-page-title-main">Wine (software)</span> Windows compatibility software

Wine is a free and open-source compatibility layer to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Developers can compile Windows applications against WineLib to help port them to Unix-like systems. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright issues. No code emulation or virtualization occurs. Wine is primarily developed for Linux and macOS.

<span class="mw-page-title-main">Package manager</span> Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

<span class="mw-page-title-main">PeaZip</span> File archive computer program

PeaZip is a free and open-source file manager and file archiver for Microsoft Windows, ReactOS, Linux, MacOS and BSD by Giorgio Tani. It supports its native PEA archive format and other mainstream formats, with special focus on handling open formats. Version 9.4.0 supported 234 file extensions.

<span class="mw-page-title-main">.NET Framework</span> Software platform developed by Microsoft

The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

NuGet is a package manager, primarily used for packaging and distributing software written using .NET and the .NET_Framework. The Outercurve Foundation initially created it under the name NuPack. Since its introduction in 2010, NuGet has evolved into a larger ecosystem of tools and services, including a free and open-source client application, hosted package servers, and software deployment tools.

npm JavaScript package manager

npm is a package manager for the JavaScript programming language maintained by npm, Inc., a subsidiary of GitHub. npm is the default package manager for the JavaScript runtime environment Node.js and is included as a recommended feature in the Node.js installer.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

<span class="mw-page-title-main">Atom (text editor)</span> Free and open-source text and source code editor

Atom is a free and open-source text and source-code editor for macOS, Linux, and Windows with support for plug-ins written in JavaScript, and embedded Git control. Developed by GitHub, Atom was released on June 25, 2015.

Chocolatey is a machine-level, command-line package manager and installer for software on Microsoft Windows. It uses the NuGet packaging infrastructure and Windows PowerShell to simplify the process of downloading and installing software.

<span class="mw-page-title-main">.NET</span> Free and open-source software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

<span class="mw-page-title-main">Visual Studio Code</span> Source code editor developed by Microsoft

Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded version control with Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add functionality.

<span class="mw-page-title-main">Flatpak</span> Linux software deployment utility

Flatpak is a utility for software deployment and package management for Linux. It is advertised as offering a sandbox environment in which users can run application software in isolation from the rest of the system. Flatpak, in 2016, was known as xdg-app.

<span class="mw-page-title-main">Redox (operating system)</span> Operating system written in Rust

Redox is a Unix-like microkernel operating system written in the programming language Rust, which has a focus on safety, stability, and performance. Redox aims to be secure, usable, and free. Redox is inspired by prior kernels and operating systems, such as SeL4, MINIX, Plan 9, and BSD. It is free and open-source software distributed under an MIT License.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a feature of Microsoft Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL is not available to all Windows 10 users by default. It can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget.

<span class="mw-page-title-main">Bitwarden</span> Open-source password manager


Bitwarden is a freemium open-source password management service that stores sensitive information, such as website credentials, in an encrypted vault. The platform offers a variety of client applications, including a web interface, desktop applications, browser extensions, mobile apps, and a command-line interface. Bitwarden offers a free US or European cloud-hosted service as well as the ability to self-host.

Microsoft, a technology company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

<span class="mw-page-title-main">Windows Terminal</span> Terminal emulator for Windows 10 and later

Windows Terminal is a multi-tabbed terminal emulator developed by Microsoft for Windows 10 and later as a replacement for Windows Console. It can run any command-line app in a separate tab. It is preconfigured to run Command Prompt, PowerShell, WSL and Azure Cloud Shell Connector, and can also connect to SSH by manually configuring a profile. Windows Terminal comes with its own rendering back-end; starting with version 1.11 on Windows 11, command-line apps can run using this newer back-end instead of the old Windows Console.

<span class="mw-page-title-main">Termux</span> Terminal emulator for Android

Termux is a free and open-source terminal emulator for Android which allows for running a Linux environment on an Android device. Termux installs a minimal base system automatically; additional packages are available using its package manager, based on Debian's.

The Scoop Package Manager is a command-line installer for Microsoft Windows. Like other package managers, when commanded to install one program, it downloads and installs that program and also any dependencies of that program.

References

  1. "Release Windows Package Manager 1.7.11261". GitHub. 8 May 2024. Retrieved 18 May 2024.
  2. "Release Windows Package Manager 1.8.1133-preview". GitHub. 24 April 2024. Retrieved 18 May 2024.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 "The winget-cli Open Source Project on Open Hub: Languages Page". Open Hub. Retrieved 18 May 2024.
  4. "winget-cli/LICENSE at master". GitHub. 17 July 2019. Retrieved 4 August 2020.
  5. Tom Warren (20 May 2020). "Microsoft's new Windows Package Manager is already better than the Windows Store". The Verge .
  6. 1 2 3 Windows Package Manager Preview | Windows Command Line
  7. Microsoft debuts Windows Package Manager for your dev environment | VentureBeat
  8. 1 2 Warren, Tom (28 May 2020). "Microsoft copied its new Windows Package Manager from rival AppGet, claims developer". The Verge . Vox Media . Retrieved June 1, 2020.
  9. Anderson, Tim (May 28, 2020). "Embrace and kill? AppGet dev claims Microsoft reeled him in with talk of help and a job – then released remarkably similar package manager". The Register . Retrieved 2020-06-01.
  10. Stewart, Ashley (May 28, 2020). "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". Business Insider . Retrieved June 1, 2020.
  11. Tung, Liam (June 1, 2020). "Windows 10: Microsoft now credits maker of package manager it 'copied' – but offers no apology". ZDNet . Retrieved 2020-06-02.
  12. Microsoft gives AppGet creator credit for Windows Package Manager - Neowin
  13. Warren, Tom (April 20, 2022). "Microsoft finally gives AppGet developer the credit he deserves". The Verge . Retrieved 2020-06-02.
  14. Anderson, Tim (May 27, 2021). "Microsoft releases command-line package manager for Windows (there are snags)". The Register . Retrieved 2021-05-28.
  15. 1 2 "Use the winget tool to install and manage applications". Microsoft.
  16. 1 2 GitHub - microsoft/winget-pkgs: The Microsoft community Windows Package Manager manifest repository
  17. Abrams, Lawrence (September 23, 2020). "Windows 10 Package Manager can now install Microsoft Store apps". Bleeping Computer . Retrieved 2020-10-10.
  18. Tung, Liam (May 21, 2020). "Microsoft's Windows Package Manager: This command-line tool can install all your apps". ZDNet . Retrieved 2020-06-02.
  19. How to Use Windows Package Manager - Petri
  20. "GitHub - microsoft/winget-cli: Windows Package Manager CLI (a.k.a. winget)". May 20, 2020 via GitHub.
  21. "Winget PKG of Visual Studio Code" https://winget.run/pkg/Microsoft/VisualStudioCode
  22. "Winget PKG of Google Chrome" https://winget.run/pkg/Google/Chrome