Windows Package Manager

Last updated
Windows Package Manager
Developer(s) Microsoft
Initial releaseMay 13, 2020;3 years ago (2020-05-13)
Stable release
1.6.2771 [1]   OOjs UI icon edit-ltr-progressive.svg (5 October 2023;3 months ago (5 October 2023))
Preview release 1.7.3172 (November 14, 2023;2 months ago (2023-11-14) [2] ) [±]
Repository github.com/microsoft/winget-cli
Written in C++
Operating system Windows 10 or later
Size ~23 MB
Available inChinese, English, French, German, Japanese, and others
Type Package manager
License MIT License
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. [3] [4] 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. [5] [4]

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

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

Overview

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

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. [16] [17]

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

Commands [13]

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

Example

The following example searches for and installs variable $PKG_ID.

wingetinstall--id=$PKG_ID-e

Package ID Examples

See also

Related Research Articles

<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">GitHub</span> Hosting service for software projects

GitHub, Inc. is an AI-powered developer platform that allows developers to create, store, and manage their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

The Android Package with the file extension apk is the file format used by the Android operating system, and a number of other Android-based operating systems for distribution and installation of mobile apps, mobile games and middleware. A file using this format can be built from source code written in either Java or Kotlin.

<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. 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">Roslyn (compiler)</span>

.NET Compiler Platform, also known by its codename Roslyn, is a set of open-source compilers and code analysis APIs for C# and Visual Basic (VB.NET) languages from Microsoft.

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 and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded 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, formerly known as xdg-app, 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.

<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 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 1 was first released on August 2, 2016, and acts as a compatibility layer for running Linux binary executables by implementing Linux system calls on the Windows kernel. It is available on Windows 10, Windows 10 LTSB/LTSC, Windows 11, Windows Server 2016, Windows Server 2019 and Windows Server 2022.

<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.

vcpkg is a cross-platform open source package manager by Microsoft.

<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. "Windows Package Manager 1.6.2771".
  2. "preview · microsoft/winget-cli · GitHub". GitHub. Retrieved 2023-11-20.
  3. Tom Warren (20 May 2020). "Microsoft's new Windows Package Manager is already better than the Windows Store". The Verge .
  4. 1 2 3 Windows Package Manager Preview | Windows Command Line
  5. Microsoft debuts Windows Package Manager for your dev environment | VentureBeat
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. Microsoft gives AppGet creator credit for Windows Package Manager - Neowin
  11. Warren, Tom (April 20, 2022). "Microsoft finally gives AppGet developer the credit he deserves". The Verge . Retrieved 2020-06-02.
  12. Anderson, Tim (May 27, 2021). "Microsoft releases command-line package manager for Windows (there are snags)". The Register . Retrieved 2021-05-28.
  13. 1 2 "Use the winget tool to install and manage applications". Microsoft.
  14. 1 2 GitHub - microsoft/winget-pkgs: The Microsoft community Windows Package Manager manifest repository
  15. Abrams, Lawrence (September 23, 2020). "Windows 10 Package Manager can now install Microsoft Store apps". Bleeping Computer . Retrieved 2020-10-10.
  16. Tung, Liam (May 21, 2020). "Microsoft's Windows Package Manager: This command-line tool can install all your apps". ZDNet . Retrieved 2020-06-02.
  17. How to Use Windows Package Manager - Petri
  18. "GitHub - microsoft/winget-cli: Windows Package Manager CLI (a.k.a. winget)". May 20, 2020 via GitHub.
  19. "Winget PKG of Visual Studio Code" https://winget.run/pkg/Microsoft/VisualStudioCode
  20. "Winget PKG of Google Chrome" https://winget.run/pkg/Google/Chrome