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
Add default installer precedence if not defined by user (#6123)
This PR adds a default order of precedence for installer types if the
user has not specified one. This ensures that ordering in a manifest is
less important. While this has the potential to cause some upset with
publishers who would prefer a different default order, the linked issue
can remain open for tracking those requests.
Future work could involve merging the default preferences with user
preferences so that any installer types the user has not specified as
their preference still adhere to this default ordering, but I presumed
that to be out of scope for this feature
Copy file name to clipboardExpand all lines: doc/ReleaseNotes.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,16 @@ The WinGet MCP server's existing tools have been extended with new parameters to
47
47
48
48
The PowerShell module now automatically uses `GH_TOKEN` or `GITHUB_TOKEN` environment variables to authenticate GitHub API requests. This significantly increases the GitHub API rate limit, preventing failures in CI/CD pipelines. Use `-Verbose` to see which token is being used.
49
49
50
+
### Default priority of installer types
51
+
52
+
Installer type selection no longer depends on the order defined on the manifest. Instead, preference is given in this order:
53
+
- MSIX
54
+
- MSI / Wix / Burn
55
+
- Nullsoft / Inno / EXE
56
+
- Portable
57
+
58
+
When a user configures installer type requirements or preferences, the order in which they are listed is now respected during installer selection.
59
+
50
60
### Improved `list` output when redirected
51
61
52
62
-`winget list` (and similar table commands) no longer truncates output when stdout is redirected to a file or variable — column widths are now computed from the full result set.
Copy file name to clipboardExpand all lines: doc/Settings.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -137,6 +137,8 @@ The `archiveExtractionMethod` behavior affects how installer archives are extrac
137
137
138
138
Some of the settings are duplicated under `preferences` and `requirements`. `preferences` affect how the various available options are sorted when choosing the one to act on. For instance, the default scope of package installs is for the current user, but if that is not an option then a machine level installer will be chosen. `requirements` filter the options, potentially resulting in an empty list and a failure to install. In the previous example, a user scope requirement would result in no applicable installers and an error.
139
139
140
+
When multiple values are listed under `requirements`, they are treated as an ordered preference in addition to a filter — the first listed value is preferred over subsequent ones when multiple valid options exist. If both `requirements` and `preferences` are set for the same field, the ordering from `preferences` takes precedence.
141
+
140
142
Any arguments passed on the command line will effectively override the matching `requirement` setting for the duration of that command.
141
143
142
144
> [!NOTE]
@@ -186,12 +188,15 @@ The `installerTypes` behavior affects what installer types will be selected when
186
188
187
189
Allowed values as of version 1.12.470 include: `appx`, `burn`, `exe`, `font`, `inno`, `msi`, `msix`, `msstore`, `nullsoft`, `portable`, `wix`, `zip`
188
190
189
-
By default, and with all other properties being equal, WinGet defaults to the installer type that is listed first in the manifest's installer YAML if the package has not been installed yet. If it is already installed, the same installer type will be required to ensure a proper upgrade.
191
+
By default, when no user preference or requirement is configured, WinGet selects installer types in the following order: MSIX, MSI/Wix/Burn, Nullsoft/Inno/EXE, Portable. If it is already installed, the same installer type will be required to ensure a proper upgrade.
0 commit comments