-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Dependencies should have an option to match the architecture of the package. #1665
Labels
Area-Manifest
This may require a change to the manifest
Dependencies
Related to package level dependencies
Issue-Feature
This is a feature request for the Windows Package Manager client.
Comments
jedieaston
added
the
Issue-Feature
This is a feature request for the Windows Package Manager client.
label
Nov 2, 2021
denelon
added
Dependencies
Related to package level dependencies
Area-Manifest
This may require a change to the manifest
and removed
Needs-Triage
Issue need to be triaged
labels
Nov 2, 2021
I already suggested him at https://gitter.im/Microsoft/winget-pkgs but he didn't check after posting his message. |
This was referenced Mar 3, 2022
This was referenced May 25, 2022
6 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area-Manifest
This may require a change to the manifest
Dependencies
Related to package level dependencies
Issue-Feature
This is a feature request for the Windows Package Manager client.
Description of the new feature / enhancement
I just noticed a bug on the community repo (microsoft/winget-pkgs#33583) where the user can't install EarTrumpet due to missing dependencies. After a little digging, I found that they are missing the x86 VCLibs (they of course have the x64 VCLibs because winget requires those).
The way dependencies find their installer entry is the same way that any manifest does, via
GetPreferredInstaller
, which returns a installer entry that matches the system's architecture. In 90% of cases that's what we want, however, there are some cases (a lot of times with redists) where we want a specific architecture for the dependency. In the current case, EarTrumpet would require the VCLibs, then winget would install the x64 version, not the x86 version that satisfies the dependency.I am aware that some contributors have worked around this by adding different PackageIdentifiers for different architectures, although I think (maybe not) we all figured that was a workaround until #906 was completed.
There should be a way to specify the architecture (and scope, maybe?) of a dependency so that we can get this right.
Proposed technical implementation details
Some new schema entries, I suppose. We could just force all packages to ask for dependencies that match their own architecture, although in many cases that is not desired behavior (if it's a x86 package that can use x64 Java somehow, I want x64 Java).
The text was updated successfully, but these errors were encountered: