download command (winget)
The download command of the winget tool downloads the installer, dependencies, and license file (when downloading a Microsoft Store Packaged app). Use the search command and the show command to identify the package installer you want to download.
The download command requires that you specify the exact string to download. If there is any ambiguity, you will be prompted to further filter the download command to an exact application.
The download command requires EntraID (formally Azure Active Directory) authentication to download a Microsoft Store packaged app (*.msix, *.appx, *.msixbundle, or *.appxbundle) and to download the Microsoft Store packaged app license file. The EntraID account used for authentication to generate and retrieve a Microsoft Store packaged app license file must be a member of one of the following three Azure roles: Global Administrator, User Administrator, or License Administrator.
Note
By default, the download command will download the appropriate installer to the user's Downloads folder. Use the --download-directory option to specify a custom download path.
Usage
winget download [[-q] <query>] [<options>]
Download without license file
Downloading a package using WinGet, the package license file can be omitted by appending to the command the --skip-license
parameter. The exclusion of the package license file will remove the authorization requirement for generating the offline license file.
winget download [[--id] <package id>] [[--skip-license]] [<options>]
Download for a specific platform
Downloading a package using WinGet, by default will download the latest available version of a package for each applicable use case (architecture, device platform, etc.). Filtering the downloaded content for a specific device platform is done by appending to the command the --platform
parameter.
winget download [[--id] <package id>] [[--platform] <platform type> ] [<options>]
Platform | Description |
---|---|
Windows.Desktop | Supports being installed on Windows desktop experience |
Windows.Universal | Supports being installed on all Microsoft operating systems |
Windows.Holographic | Supports being installed on Microsoft HoloLens devices |
Download for a specific architecture
Downloading a package using WinGet, by default will download the latest available version of a package for each applicable use case (architecture, device platform, etc.). Filtering the downloaded content with a specific architecture is done by appending to the command the --architecture
parameter.
winget download [[--id] <package id>] [[--architecture] <Architecture>] [<options>]
Architecture | Description |
---|---|
x86 | 32-bit processor |
x64 | 64-bit processor |
arm | 32-bit ARM processor |
arm64 | 64-bit ARM processor |
Arguments
The following arguments are available.
Argument | Description |
---|---|
-q,--query | The query used to search for an app. |
Note
The query argument is positional. Wild-card style syntax is not supported. This is most often the string of characters you expect to uniquely identify the package you wish to download.
Options
The options allow you to customize the download experience to meet your needs.
Option | Description |
---|---|
-d, --download-directory | Directory where the installers are downloaded to. |
-m, --manifest | Must be followed by the path to the manifest (YAML) file. |
--id | Limits the download to the ID of the application. |
--name | Limits the search to the name of the application. |
--moniker | Limits the search to the moniker listed for the application. |
-v, --version | Enables you to specify an exact version to install. If not specified, latest will download the highest versioned application. |
-s, --source | Restricts the search to the source name provided. Must be followed by the source name. |
--scope | Allows you to specify if the installer should target user or machine scope. See known issues relating to package installation scope. |
-a, --architecture | Select the architecture to download. |
--installer-type | Select the installer type to download. |
-e, --exact | Uses the exact string in the query, including checking for case-sensitivity. It will not use the default behavior of a substring. |
--locale | Specifies which locale to use (BCP47 format). |
--ignore-security-hash | Ignore the installer hash check failure. Not recommended. |
--skip-dependencies | Skips processing package dependencies and Windows features. |
--header | Optional Windows-Package-Manager REST source HTTP header. |
--authentication-mode | Specify authentication window preference (silent, silentPreferred or interactive). |
--authentication-account | Specify the account to be used for authentication. |
--accept-package-agreements | Used to accept the license agreement, and avoid the prompt. |
--accept-source-agreements | Used to accept the source license agreement, and avoid the prompt. |
--skip-license,--skip-microsoft-store-package-license | Skips retrieving Microsoft Store package offline license. |
--platform | Select the target platform. |
-?, --help | Get additional help on this command. |
--wait | Prompts the user to press any key before exiting. |
--logs,--open-logs | Open the default logs location. |
--verbose, --verbose-logs | Used to override the logging setting and create a verbose log. |
--nowarn,--ignore-warnings | Suppresses warning outputs. |
--disable-interactivity | Disable interactive prompts. |
--proxy | Set a proxy to use for this execution. |
--no-proxy | Disable the use of proxy for this execution. |
Example queries
The following example downloads a specific version of an application from its ID.
winget download --id Microsoft.PowerToys --version 0.15.2
The following example downloads an application with a specific installer type.
winget download --id Microsoft.WingetCreate --installer-type msix
The following example downloads an application by architecture and scope to a specific download directory.
winget download --id Microsoft.PowerToys --scope machine --architecture x64 --download-directory <Path>