Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Architecture specific update doesn't work #494

Closed
rakleed opened this issue Dec 18, 2023 · 2 comments · Fixed by #505
Closed

Architecture specific update doesn't work #494

rakleed opened this issue Dec 18, 2023 · 2 comments · Fixed by #505
Labels
In-PR Issue-Bug Issue-Docs It's a documentation issue that really should be on MicrosoftDocs

Comments

@rakleed
Copy link

rakleed commented Dec 18, 2023

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
@mdanish-kh
Copy link
Contributor

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)

@rakleed
Copy link
Author

rakleed commented Dec 18, 2023

@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?

@ryfu-msft ryfu-msft added Issue-Docs It's a documentation issue that really should be on MicrosoftDocs and removed Needs-Triage labels Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
In-PR Issue-Bug Issue-Docs It's a documentation issue that really should be on MicrosoftDocs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants