Use the winget tool to install and manage applications

Important

Windows Package Manager and the winget tool are in public preview and may be substantially modified before they are generally available. Microsoft makes no warranties, express or implied, with respect to the information provided here.

The winget command line tool enables developers to discover, install, upgrade, remove and configure applications on Windows 10 computers. This tool is the client interface to the Windows Package Manager service.

The winget tool is currently a preview, so not all planned functionality is available at this time.

Install winget

There are several ways to install the winget tool:

Note

The winget tool requires Windows 10, version 1709 (10.0.16299), or a later version of Windows 10.

Administrator considerations

Installer behavior can be different depending on whether you are running winget with administrator privileges.

  • When running winget without administrator privileges, some applications may require elevation to install. When the installer runs, Windows will prompt you to elevate. If you choose not to elevate, the application will fail to install.

  • When running winget in an Administrator Command Prompt, you will not see elevation prompts if the application requires it. Always use caution when running your command prompt as an administrator, and only install applications you trust.

Use winget

After App Installer is installed, you can run winget by typing 'winget' from a Command Prompt.

One of the most common usage scenarios is to search for and install a favorite tool.

  1. To search for a tool, type winget search \<appname>.

  2. After you have confirmed that the tool you want is available, you can install the tool by typing winget install \<appname>. The winget tool will launch the installer and install the application on your PC. winget commandline

  3. In addition to install and search, winget provides a number of other commands that enable you to show details on applications, change sources, and validate packages. To get a complete list of commands, type: winget --help. winget help

Commands

The current preview of the winget tool supports the following commands.

Command Description
hash Generates the SHA256 hash for the installer.
help Displays help for the winget tool commands.
install Installs the specified application.
search Searches for an application.
show Displays details for the specified application.
source Adds, removes, and updates the Windows Package Manager repositories accessed by the winget tool.
validate Validates a manifest file for submission to the Windows Package Manager repository.

Options

The current preview of the winget tool supports the following options.

Option Description
-v,--version this option returns the current version of winget.
--info info provides you with all detailed information on winget including the links to the license and privacy statement.
-?, --help get additional help winget

Supported installer formats

The current preview of the winget tool supports the following types of installers.

  • EXE
  • MSIX
  • MSI

Scripting winget

You can author batch scripts and powershell scripts to install multiple applications.

@echo off  
Echo Install Powertoys and Terminal  
REM Powertoys  
winget install Microsoft.Powertoys  
if %ERRORLEVEL% EQU 0 Echo Powertoys installed successfully.  
REM Terminal  
winget install Microsoft.WindowsTerminal  
if %ERRORLEVEL% EQU 0 Echo Terminal installed successfully.   %ERRORLEVEL%

Note

When scripted, winget will launch the applications in the specified order. When an installer returns success or failure, winget will launch the next installer. If an installer launches another process, it is possible that it will return to winget prematurely. This will cause winget to install the next installer before the previous installer has completed.

Missing tools

If the community repository does not include your tool or application. Please submit a package to our repository. By adding your favorite tool, it will be available to you and everyone else.

Open source details

The winget tool is open source software available on GitHub in the repo https://github.com/microsoft/winget-cli/. The source for building the client is located in the src folder.

The source for winget is contained in a Visual Studio 2019 C++ solution. To build the solution correctly, install the latest Visual Studio with the C++ workload.

We encourage you to contribute to the winget source on GitHub. You must first agree to and sign the Microsoft CLA.