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

Dependencies should have an option to match the architecture of the package. #1665

Open
jedieaston opened this issue Nov 2, 2021 · 2 comments
Labels
Area-Manifest This may require a change to the manifest Dependencies Blocked by microsoft/winget-cli/issues/163 Support for Dependencies Issue-Feature This is a feature request for the Windows Package Manager client.
Milestone

Comments

@jedieaston
Copy link
Contributor

jedieaston commented Nov 2, 2021

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).

@jedieaston jedieaston added the Issue-Feature This is a feature request for the Windows Package Manager client. label Nov 2, 2021
@ghost ghost added the Needs-Triage Issue need to be triaged label Nov 2, 2021
@denelon denelon added Dependencies Blocked by microsoft/winget-cli/issues/163 Support for Dependencies Area-Manifest This may require a change to the manifest and removed Needs-Triage Issue need to be triaged labels Nov 2, 2021
@jedieaston
Copy link
Contributor Author

@denelon Can this be added to the 1.2 schema issue? #1891

@vedantmgoyal9
Copy link
Contributor

I already suggested him at https://gitter.im/Microsoft/winget-pkgs but he didn't check after posting his message.

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 Blocked by microsoft/winget-cli/issues/163 Support for Dependencies Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

No branches or pull requests

3 participants