You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: hub/package-manager/package/manifest.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Create your package manifest
3
3
description: If you want to submit a software package to the Windows Package Manager repository, start by creating a package manifest.
4
-
ms.date: 11/01/2023
4
+
ms.date: 03/24/2026
5
5
ms.topic: how-to
6
6
ms.localizationpriority: medium
7
7
---
@@ -57,7 +57,7 @@ For a complete list and descriptions of items in a manifest, see the [manifest s
57
57
58
58
### Minimal required schema
59
59
60
-
As specified in the [singleton JSON schema](https://github.com/microsoft/winget-cli/blob/master/schemas/JSON/manifests/v1.6.0/manifest.singleton.1.6.0.json),
60
+
As specified in the [singleton JSON schema](https://github.com/microsoft/winget-cli/blob/master/schemas/JSON/manifests/v1.12.0/manifest.singleton.1.12.0.json),
61
61
only certain fields are required. The minimal supported YAML file would look like the example below. The singleton format is only valid for packages containing a single installer and a single locale. If more than one installer or locale is provided, the multiple YAML file format and schema must be used.
62
62
63
63
The partitioning scheme was added to help with GitHub's UX. Folders with thousands of children do not render well in the browser.
@@ -74,11 +74,11 @@ License: # The license of the application.
74
74
ShortDescription: # The description of the application.
75
75
Installers:
76
76
- Architecture: # Enumeration of supported architectures.
To provide the best user experience, manifests should contain as much meta-data as possible. In order to separate concerns for validating installers
111
111
and providing localized metadata, manifests should be split into multiple files. The minimum number of YAML files for this kind of manifest is three. Additional locales should also be provided.
112
112
113
-
* A [version](https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.6.0/version.md) ([JSON Schema](https://github.com/microsoft/winget-cli/blob/master/schemas/JSON/manifests/v1.6.0/manifest.version.1.6.0.json)) file.
114
-
* The [default locale](https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.6.0/defaultLocale.md) ([JSON Schema](https://github.com/microsoft/winget-cli/blob/master/schemas/JSON/manifests/v1.6.0/manifest.defaultLocale.1.6.0.json)) file.
115
-
* An [installer](https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.6.0/installer.md) ([JSON Schema](https://github.com/microsoft/winget-cli/blob/master/schemas/JSON/manifests/v1.6.0/manifest.installer.1.6.0.json)) file.
The example below shows many optional metadata fields and multiple locales. Note the default locale has more requirements than additional locales. In the [show command](../winget/show.md), any required fields that aren't provided for additional locales will display fields from the default locale.
Copy file name to clipboardExpand all lines: hub/package-manager/winget/settings.md
+87-3Lines changed: 87 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: settings command
3
3
description: Provides customizations for the Windows Package Manager.
4
-
ms.date: 07/08/2025
4
+
ms.date: 03/24/2026
5
5
ms.topic: article
6
6
---
7
7
@@ -73,7 +73,7 @@ We have also defined a schema for the settings file. This allows you to use TAB
73
73
74
74
## Updating settings
75
75
76
-
The following settings are available for the 1.11 release of the Windows Package Manager.
76
+
The following settings are available for the 1.12 release of the Windows Package Manager.
77
77
78
78
### source settings
79
79
@@ -119,7 +119,7 @@ Color of the progress bar that WinGet displays when not specified by arguments.
119
119
120
120
Replaces some known folder paths with their respective environment variables.
121
121
122
-
#### enableSizels
122
+
#### enableSixels
123
123
124
124
Enables output of sixel images in certain contexts.
125
125
@@ -144,6 +144,39 @@ The following logging levels are available. Defaults to `info` if the value is n
144
144
- error
145
145
- critical
146
146
147
+
#### channels
148
+
149
+
The `channels` setting restricts logging output to specific log channels. Special values `default` (the default set of channels) and `all` (all channels) are also accepted. Invalid values are ignored.
150
+
151
+
```json
152
+
"logging": {
153
+
"channels": ["default"]
154
+
}
155
+
```
156
+
157
+
#### file
158
+
159
+
The `file` settings control automatic cleanup of log files in the default log directory. Cleanup runs at the start of each WinGet process and applies only to the default log location.
160
+
161
+
| Setting | Description | Default |
162
+
|---------|-------------|---------|
163
+
|`ageLimitInDays`| Maximum age in days of files in the log directory; older files are deleted. Set to `0` to disable. | 7 |
164
+
|`totalSizeLimitInMB`| Maximum total size in megabytes of all files in the log directory; the oldest files are deleted first. Set to `0` to disable. | 128 |
165
+
|`countLimit`| Maximum number of files in the log directory; the oldest files are deleted first. Set to `0` to disable. | 0 (disabled) |
166
+
|`individualSizeLimitInMB`| Maximum size in megabytes of a single log file. If a file would exceed this limit, logs wrap. Set to `0` to disable. | 16 |
167
+
168
+
```json
169
+
"logging": {
170
+
"level": "verbose",
171
+
"file": {
172
+
"ageLimitInDays": 7,
173
+
"totalSizeLimitInMB": 128,
174
+
"countLimit": 0,
175
+
"individualSizeLimitInMB": 16
176
+
}
177
+
}
178
+
```
179
+
147
180
### preferences and requirements settings
148
181
149
182
Some of the settings are duplicated under `preferences` and `requirements`.
@@ -336,3 +369,54 @@ The `Interactivity` setting controls whether interactive prompts are shown by th
336
369
### Enabling experimental features
337
370
338
371
To discover which experimental features are available, go to [https://aka.ms/winget-settings](https://aka.ms/winget-settings) where you can see the experimental features available to you.
372
+
373
+
The `experimentalFeatures` settings involve the configuration of these "experimental" features. Individual features can be enabled under this node:
374
+
375
+
```json
376
+
"experimentalFeatures": {
377
+
"directMSI": true,
378
+
"resume": true
379
+
}
380
+
```
381
+
382
+
#### directMSI
383
+
384
+
This feature enables the Windows Package Manager to directly install MSI packages with the MSI APIs rather than through msiexec. Note that when silent installation is used this is already in effect, as MSI packages that require elevation will fail in that scenario without it.
385
+
386
+
```json
387
+
"experimentalFeatures": {
388
+
"directMSI": true
389
+
}
390
+
```
391
+
392
+
#### resume
393
+
394
+
This feature enables support for some commands to resume after a reboot.
395
+
396
+
```json
397
+
"experimentalFeatures": {
398
+
"resume": true
399
+
}
400
+
```
401
+
402
+
#### fonts
403
+
404
+
This feature enables support for fonts via `winget settings`. The `winget font list` command will list installed font families and the number of installed font faces.
405
+
406
+
```json
407
+
"experimentalFeatures": {
408
+
"fonts": true
409
+
}
410
+
```
411
+
412
+
#### sourcePriority
413
+
414
+
This feature enables sources to have a priority value assigned. Sources with a higher priority will appear earlier in search results and will be selected for installing new packages when multiple sources have a matching package.
415
+
416
+
Note that search result ordering is dependent on several factors, and source priority is the lowest field currently (match quality and field are more important).
Copy file name to clipboardExpand all lines: hub/package-manager/winget/source.md
+54-3Lines changed: 54 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
---
2
2
title: The WinGet source command
3
3
description: Use the WinGet source command and subcommands to list and manage the sources WinGet accesses.
4
-
ms.date: 07/08/2025
4
+
ms.date: 03/24/2026
5
5
ms.topic: reference
6
6
ms.custom: kr2b-contr-experiment
7
7
---
8
8
9
9
# The WinGet source command
10
10
11
-
The [WinGet](index.md)**source** command allows you to manage sources. With the **source** command, you can **add**, **list**, **update**, **remove**, **reset**, or **export** WinGet sources.
11
+
The [WinGet](index.md)**source** command allows you to manage sources. With the **source** command, you can **add**, **edit**, **list**, **update**, **remove**, **reset**, or **export** WinGet sources.
12
12
13
13
A WinGet source provides the data for you to discover and install applications. Only use secure, trusted sources.
14
14
@@ -33,6 +33,7 @@ The following arguments are available.
33
33
| Sub-Command | Description |
34
34
|--------------|-------------|
35
35
|**add**| Adds a new source. |
36
+
|**edit**| Edits an existing source. |
36
37
|**list**| Lists current sources. |
37
38
|**update**| Updates current sources. |
38
39
|**remove**| Removes current sources. |
@@ -83,7 +84,7 @@ The following options are available.
83
84
|**--trust-level**| Trust level of the source (none or trusted). |
|**--accept-source-agreements**| Used to accept the source license agreement, and avoid the prompt. |
86
-
|**--explicit**||
87
+
|**--explicit**|Marks the source as explicit, requiring commands to directly target it using `--source`.|
87
88
|**-?, --help**| Get additional help on this command. |
88
89
|**--wait**| Prompts the user to press any key before exiting. |
89
90
|**--logs,--open-logs**| Open the default logs location. |
@@ -104,6 +105,56 @@ The **add** subcommand supports the optional **type** parameter, which tells the
104
105
|**Microsoft.PreIndexed.Package**| The default source type. |
105
106
|**Microsoft.Rest**| A Microsoft REST API source. |
106
107
108
+
### edit
109
+
110
+
The **edit** subcommand modifies an existing source's configuration. The primary use is to toggle whether a source is **explicit** or **implicit**. When a source is explicit, WinGet commands must directly target it using `--source`. When a source is implicit, it is included in all commands automatically.
111
+
112
+
Usage:
113
+
114
+
```cmd
115
+
winget source edit [-n] <name> [<options>]
116
+
```
117
+
118
+
#### Arguments
119
+
120
+
The following arguments are available.
121
+
122
+
| Argument | Description |
123
+
|--------------|-------------|
124
+
|**-n, --name**| The name of the source to edit. |
125
+
126
+
#### Options
127
+
128
+
The following options are available.
129
+
130
+
| Option | Description |
131
+
|-------------|-------------|
132
+
|**--explicit**| Sets the source as explicit (`true`) or implicit (`false`). When explicit, commands must directly target the source using `--source`. |
|**--proxy**| Set a proxy to use for this execution. |
142
+
|**--no-proxy**| Disable the use of proxy for this execution. |
143
+
144
+
#### Example
145
+
146
+
The **winget-font** source is explicit by default, meaning commands must target it directly using `--source winget-font`. To reset it to the default (implicit) state so that it is included in all WinGet commands automatically, run:
147
+
148
+
```cmd
149
+
winget source edit winget-font --explicit false
150
+
```
151
+
152
+
To set a source as explicit:
153
+
154
+
```cmd
155
+
winget source edit winget-font --explicit true
156
+
```
157
+
107
158
### list
108
159
109
160
The **list** subcommand enumerates the currently enabled sources, or provides details on a specific source.
Copy file name to clipboardExpand all lines: hub/package-manager/winget/troubleshooting.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Debugging and troubleshooting issues with WinGet
3
3
description: Provides information on logging and WinGet diagnostics.
4
-
ms.date: 07/15/2025
4
+
ms.date: 03/24/2026
5
5
ms.topic: troubleshooting-general
6
6
---
7
7
@@ -19,7 +19,7 @@ When WinGet commands are failing, sometimes it is necessary to look at the log f
19
19
20
20
## WinGet Logs
21
21
22
-
Windows Package Manager by default creates log files when executing commands. These logs contain information that can aid in debugging issues with WinGet. There is no maximum size for the log files. They are typically only a few KB in size. When the number of log files in the directory exceeds 100, the oldest log files will begin being deleted. There is no time-based removal of logs and these settings are not configurable. If you have reached the 100 file log capacity, just move any WinGet logs that you wish to preserve into a different directory.
22
+
Windows Package Manager by default creates log files when executing commands. These logs contain information that can aid in debugging issues with WinGet. Log file cleanup behavior is configurable via the [logging settings](./settings.md#logging-settings) in your settings file. By default, log files older than 7 days or exceeding 128 MB total are automatically removed, and individual log files wrap at 16 MB. Use the `logging.file` settings to adjust these limits.
23
23
24
24
Use the command [`winget --info`](./info.md) to find the directory path to your WinGet log files. The default path for WinGet log files is:
0 commit comments