Architecture specific `update` doesn't work
rakleed opened this issue · 2 comments
Brief description of your issue
I initially wanted to run the normal update
command:
wingetcreate update --submit --urls https://todoist.com/windows_app --version 8.12.0 Doist.Todoist
But it didn't work:
Each new installer URL must have a single match to an existing installer based on architecture, installer type and scope. The following installers failed to match an existing installer:
Multiple matches found for X86 Nullsoft installer detected from the url: https://todoist.com/windows_app
Try using the architecture and/or scope overrides to uniquely match new URLs to existing installer nodes in the manifest.
So I ran the command specifying the new architecture:
wingetcreate update --submit --urls https://todoist.com/windows_app|x86 --version 8.12.0 Doist.Todoist
To which I received an error message:
x86: The term 'x86' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Apparently |
is used as a logical or, but how can I then specify both the URL and the new architecture?
Steps to reproduce
wingetcreate update --submit --urls https://todoist.com/windows_app|x86 --version 8.12.0 Doist.Todoist
Expected behavior
The update
command must create the correct manifest.
Actual behavior
x86: The term 'x86' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Environment
Windows Package Manager Manifest Creator v1.5.7.0
System Architecture: x64
Windows: 11 v. 23H2
Package: Doist.Todoist 8.12.0
You need to quote the entire string composed of URL and the override as "https://todoist.com/windows_app|x86"
. Although here, the x86 override won't work since the current manifest in the repo (which you can see using wingetcreate show Doist.Todoist -i
) has a single installer node with architecture "neutral". You would need to specify neutral architecture as the override, making the overall command to be:
wingetcreate update --submit --urls "https://todoist.com/windows_app|neutral" --version 8.12.0 Doist.Todoist
(Note: netural
is deprecated as an architecture. If the app supports multiple architectures, please modify the PR manually after its creation to have multiple installer nodes for every supported architecture)
@mdanish-kh thanks! Could you please put <InstallerUrl1>|<InstallerArchitecture>
in quotes in the documentation for Override the architecture of an installer:
so that other users don't have the same problem as me?