Ability to update DisplayVersion in autonomous update #516
Labels
In-PR
Issue-Feature
Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Description of the new feature / enhancement
Many packages in the winget repository use a different marketing version than the DisplayVersion they write to the Registry. As such, their manifests include both the
PackageVersion
&DisplayVersion
field. Many publishers follow a consistent pattern with their PackageVersion & DisplayVersion values. As suchDisplayVersion
can be known for such publishers without manually installing the package.The current flow for such packages is to create a PR first using wingetcreate, then manually update the DisplayVersion field in the PR. wingetcreate should offer a way to update the DisplayVersion as part of the autonomous update.
Proposed technical implementation details
A simple
--display-version
arg wouldn't suffice as DisplayVersion can be different per installer node. There should be a way to provide it for each installer URL with overrides as we have right now for architecture & scope. I'm thinking of the following UX, would love additional thoughts or concerns:wingetcreate update x.x --version 1.2.3 --display-version 4.5.6 --urls <InstallerUrls>...
-> Looks for all installer nodes that have a DisplayVersion value and replaces it with4.5.6
. Do nothing for those that do not have a previous DisplayVersion value.wingetcreate update x.x --version 1.2.3 --urls "<InstallerUrl1>|1.2" "<InstallerUrl2>|x64|2.3" "<InstallerUrl3>|machine|3.4" "<InstallerUrl4>|x86|user|4.5"
-> Replaces the DisplayVersion of installer nodes that match the arch,scope etc with the provided values. If the existing nodes do not have a DisplayVersion value then do nothing.wingetcreate update x.x --version 1.2.3 --display-version 4.5.6 --urls "<InstallerUrl1>|1.2" "<InstallerUrl2> " "<InstallerUrl3>" "<InstallerUrl4>"
-> Matching installer node for InstallerUrl1 gets DisplayVersion1.2
, rest will get the value provided with--display-version
arg. For those existing nodes do not have a DisplayVersion value, do nothing.The text was updated successfully, but these errors were encountered: