Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions doc/windows/package-manager/winget/configure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
title: configure Command
description: Configures the system into a desired state.
ms.date: 2026-08-06
ms.topic: overview
ms.localizationpriority: medium
---

# configure command (winget)

The **configure** command of the [winget](index.md) tool ensures that the system matches the desired state described by a configuration file. It may download or execute processors in order to achieve that desired state.

## Usage

`winget configure [<command>] [[-f] <file>] [[--module-path] <module-path>] [<options>]`

The following command aliases are available: `configuration`, `dsc`

## Arguments

| Argument | Description |
|--------|-------------|
| **-f, --file** | The path to the configuration file. |
| **--module-path** | Specifies the location on the local computer to store modules. Default `%LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules`. |

## Sub-commands

| Sub-command | Description |
|-------------|-------------|
| **show** | Shows details of a configuration. |
| **list** | Shows configuration history. |
| **test** | Checks the system against a desired state. |
| **validate** | Validates a configuration file. |
| **export** | Exports configuration resources to a configuration file. |

## Options

| Option | Description |
|--------|-------------|
| **--processor-path** | Specify the path to the configuration processor. |
| **-h, --history** | Select items from history. |
| **--accept-configuration-agreements** | Accepts the configuration warning, preventing an interactive prompt. |
| **--suppress-initial-details** | Suppress showing initial configuration details when possible. |
| **--enable** | Enable extended features. Requires store access. |
| **--disable** | Disable extended features. Requires store access. |
| **-?, --help** | Shows help about the selected command. |
| **--wait** | Prompts the user to press any key before exiting. |
| **--logs, --open-logs** | Open the default logs location. |
| **--verbose, --verbose-logs** | Enables verbose logging for winget. |
| **--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. |

## Sub-command details

### show

Usage: `winget configure show [[-f] <file>] [[--module-path] <module-path>] [<options>]`

Shows details of the provided configuration.

### list

Usage: `winget configure list [<options>]`

Shows the high level details for configurations that have been applied to the system.

Additional options:

| Option | Description |
|--------|-------------|
| **-h, --history** | Select items from history. |
| **-o, --output** | File where the result is to be written. |
| **--remove** | Remove the item from history. |

### test

Usage: `winget configure test [[-f] <file>] [[--module-path] <module-path>] [<options>]`

Checks that the system matches the desired state described by the provided configuration.

### validate

Usage: `winget configure validate [-f] <file> [[--module-path] <module-path>] [<options>]`

Validates a configuration file for correctness.

### export

Usage: `winget configure export [<options>]`

Exports configuration resources to a configuration file. When used with **--all**, it exports all package configurations. When used with **--package-id**, it exports a `WinGetPackage` resource for the given package ID. When used with **--module** and **--resource**, it gets the settings of the resource and exports them to the configuration file. If the output configuration file already exists, the exported configuration resources are appended.

| Option | Description |
|--------|-------------|
| **-o, --output** | File where the result is to be written. |
| **--package-id** | The package identifier to export. |
| **--module** | The module of the resource to export. |
| **--resource** | The configuration resource to export. |
| **--module-path** | Specifies the location on the local computer to store modules. Default `%LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules`. |
| **--processor-path** | Specify the path to the configuration processor. |
| **-s, --source** | Export packages from the specified source. |
| **--include-versions** | Include package versions in export file. |
| **-r, --recurse, --all** | Exports all package configurations. |
| **--accept-source-agreements** | Accept all source agreements during source operations. |

## Related topics

* [Use the winget tool to install and manage applications](index.md)
* [settings command](settings.md)
61 changes: 61 additions & 0 deletions doc/windows/package-manager/winget/download.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: download Command
description: Downloads the installer from a given package.
ms.date: 2026-08-06
ms.topic: overview
ms.localizationpriority: medium
---

# download command (winget)

The **download** command of the [winget](index.md) tool downloads the installer from the selected package, either found by searching a configured source or directly from a manifest. By default, it downloads the appropriate installer to the user's Downloads folder.

## Usage

`winget download [[-q] <query>] [<options>]`

## Arguments

| Argument | Description |
|--------|-------------|
| **-q, --query** | The query used to search for a package. |

## Options

| Option | Description |
|--------|-------------|
| **-d, --download-directory** | Directory where the installers are downloaded to. |
| **-m, --manifest** | The path to the manifest of the package. |
| **--id** | Filter results by id. |
| **--name** | Filter results by name. |
| **--moniker** | Filter results by moniker. |
| **-v, --version** | Use the specified version; default is the latest version. |
| **-s, --source** | Find package using the specified source. |
| **--scope** | Select install scope (user or machine). |
| **-a, --architecture** | Select the architecture. |
| **--installer-type** | Select the installer type. |
| **-e, --exact** | Find package using exact match. |
| **--locale** | Locale to use (BCP47 format). |
| **--ignore-security-hash** | Ignore the installer hash check failure. |
| **--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** | Accept all license agreements for packages. |
| **--accept-source-agreements** | Accept all source agreements during source operations. |
| **--skip-license, --skip-microsoft-store-package-license** | Skips retrieving Microsoft Store package offline license. |
| **--platform** | Select the target platform. |
| **--os-version** | Target OS version. |
| **-?, --help** | Shows help about the selected command. |
| **--wait** | Prompts the user to press any key before exiting. |
| **--logs, --open-logs** | Open the default logs location. |
| **--verbose, --verbose-logs** | Enables verbose logging for winget. |
| **--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. |

## Related topics

* [Use the winget tool to install and manage applications](index.md)
* [install command](install.md)
65 changes: 65 additions & 0 deletions doc/windows/package-manager/winget/dscv3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: dscv3 Command
description: Provides DSC v3 resource commands for WinGet.
ms.date: 2026-08-06
ms.topic: overview
ms.localizationpriority: medium
---

# dscv3 command (winget)

The **dscv3** command of the [winget](index.md) tool provides Desired State Configuration (DSC) v3 resources for configuring WinGet and packages.

## Usage

`winget dscv3 [<command>] [<options>]`

## Sub-commands

| Sub-command | Description |
|-------------|-------------|
| **package** | Manage package state. |
| **source** | Manage source configuration. |
| **user-settings-file** | Manage the user settings file. |
| **admin-settings** | Manage administrator settings. |

## Top-level options

| Option | Description |
|--------|-------------|
| **--manifest** | Get the resource manifest. |
| **-o, --output** | Directory where the results are to be written. |
| **-?, --help** | Shows help about the selected command. |
| **--wait** | Prompts the user to press any key before exiting. |
| **--logs, --open-logs** | Open the default logs location. |
| **--verbose, --verbose-logs** | Enables verbose logging for winget. |
| **--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. |

## Resource subcommands

Each resource subcommand currently supports the same operational switches.

| Option | Description |
|--------|-------------|
| **--get** | Get the resource state. |
| **--set** | Set the resource state. |
| **--test** | Test the resource state. |
| **--export** | Get all state instances. |
| **--schema** | Get the resource schema. |
| **--manifest** | Get the resource manifest. |
| **-o, --output** | File where the result is to be written. |

These options apply to:

* `winget dscv3 package`
* `winget dscv3 source`
* `winget dscv3 user-settings-file`
* `winget dscv3 admin-settings`

## Related topics

* [Use the winget tool to install and manage applications](index.md)
* [configure command](configure.md)
65 changes: 24 additions & 41 deletions doc/windows/package-manager/winget/export.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
---
title: export Command
description: exports the list of installed applications.
ms.date: 05/02/2021
description: Exports the list of installed applications.
ms.date: 2026-08-06
ms.topic: overview
ms.localizationpriority: medium
---

# export command (winget)

The **export** command of the [winget](index.md) tool exports a JSON file of apps to a specified file. The **export** command users JSON as the format. See [the JSON schema used by **winget**](https://aka.ms/winget-packages.schema.1.0.json).
The **export** command of the [winget](index.md) tool writes a JSON file of installed packages to a specified file. The packages can then be installed with the [**import**](import.md) command.

The **export** combined with the [**import**](import.md) command allows you to batch install applications on your PC.

The **export** command is often used to create a file that you can share with other developers, or for use when restoring your build environment.
The **export** command is often used to create a file that you can share with other developers or use when restoring your development environment.

## Usage

Expand All @@ -23,49 +21,34 @@ The **export** command is often used to create a file that you can share with ot
## Arguments

The following arguments are available.
| Argument | Description |

| Argument | Description |
|-------------|-------------|
| **-o,--output** | Path to the JSON file to be created
| **-o, --output** | File where the result is to be written. |

## Options

The options allow you to customize the export experience to meet your needs.
The following options are available.

| Option | Description |
|--------|-------------|
| **-s, --source** | [optional] Specifies a source to export files from. Use this option when you only want files from a specific source. |
| **--include-versions** | [optional] Includes the version of the app currently installed. Use this option if you want a specific version. By default, unless specified, [**import**](import.md) will use latest. |
| **--accept-source-agreements** | Accept all source agreements during source operations |
| **-?, --help** | Shows help about the selected command |
| **--wait** | Prompts the user to press any key before exiting |
| **--logs, --open-logs** | Open the default logs location |
| **--verbose, --verbose-logs** | Enables verbose logging for winget |
| **--disable-interactivity** | Disable interactive prompts |

## JSON Schema
The driving force behind the **export** command is the JSON file. As mentioned, you can see the [schema for the JSON file](https://aka.ms/winget-packages.schema.1.0.json).

The JSON file includes the following hierarchy:
| Entry | Description |
|-------------|-------------|
| **Sources** | The sources application manifests come from. |
| **Packages** | The collection of packages to install. |
| **PackageIdentifier** | The Windows Package Manager package identifier used to specify the package. |
| **Version** | [Optional] The specific version of the package to install. |

## exporting files

When the Windows Package Manager exports the JSON file, it attempts to export all the applications installed on the PC. If the **winget export** command is not able to match an application to an application from an available **source**, the export command will show a warning.

Note: matching an application depends on metadata in the manifest from a configured source, and metadata in Add / Remove Programs in Windows based on the package installer.

In the example below, you will see warnings for **WhatsApp Desktop** and **7-Zip**.

![export](images/export-command.png)

Once the export is complete, you can edit the resulting JSON file in your favorite editor. You can remove apps you do not wish to import in the future.
| **-s, --source** | Export packages from the specified source. |
| **--include-versions** | Include package versions in the export file. |
| **--accept-source-agreements** | Accept all source agreements during source operations. |
| **-?, --help** | Shows help about the selected command. |
| **--wait** | Prompts the user to press any key before exiting. |
| **--logs, --open-logs** | Open the default logs location. |
| **--verbose, --verbose-logs** | Enables verbose logging for winget. |
| **--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. |

## JSON schema

The driving force behind the **export** command is the JSON file. You can see the schema at [https://aka.ms/winget-packages.schema.1.0.json](https://aka.ms/winget-packages.schema.1.0.json).

## Related topics

* [Use the winget tool to install and manage applications](index.md)

* [import command](import.md)
32 changes: 23 additions & 9 deletions doc/windows/package-manager/winget/features.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,39 @@
---
title: features Command
description: Displays the list of experimental features available and the state.
ms.date: 05/5/2021
description: Displays the list of experimental features available and their state.
ms.date: 2026-08-06
ms.topic: overview
ms.localizationpriority: medium
---

# features command (winget)

The **features** command of the [winget](index.md) tool displays a list of the experimental features available with your version of the Windows Package Manager.
The **features** command of the [winget](index.md) tool displays the status of experimental features available in your version of Windows Package Manager.

Each feature can be turned on individually by enabling the features through [**settings**](settings.md).

You can find the latest up to date information on the [experimental features](../../../Settings.md#experimental-features) web page.
Experimental features can be turned on through [**settings**](settings.md).

## Usage

`winget features [<options>]`

![features command](images/features.png)

Notice above that the status of each feature is listed. If the feature is **disabled** you will not be able to use it. If the feature is **enabled** you will notice that the command will be available to you through winget.
## Options

| Option | Description |
|--------|-------------|
| **-?, --help** | Shows help about the selected command. |
| **--wait** | Prompts the user to press any key before exiting. |
| **--logs, --open-logs** | Open the default logs location. |
| **--verbose, --verbose-logs** | Enables verbose logging for winget. |
| **--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. |

Note: features may be managed by Group Policy. You can use `winget --info` to view policies in effect on your system.

To enabled any disabled features, go to **settings** and enable the feature.
## Related topics

Note: features may be managed by group policy. You can use the **winget --info** command to view any policies in effect on your system.
* [Use the winget tool to install and manage applications](index.md)
* [settings command](settings.md)
Loading