microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
23.13k stars 1.44k forks source link

Support for package dependencies #163

Closed denelon closed 1 year ago

denelon commented 4 years ago

Description of the new feature/enhancement

Some packages like IDEs require the language to be installed separately. Most installers take care of their own dependencies, but there should be a way to support this situation. Maybe it's just a package collection, but we would still need to figure out the right order to install packages like this

Proposed technical implementation details (optional)

https://github.com/microsoft/winget-cli/blob/master/doc/specs/%23163%20-%20Dependencies.md


Edited: Added link to specification document.

BrandonWanHuanSheng commented 1 year ago

I saw some microsoft file contain License.xml. LanguageExperience have LicenseFile but it was not included right over here. Except for Package Dependencies have no License File. Windows11_Features._License.zip

riverar commented 1 year ago

Hey @denelon, been a few years. What's the status of the dependencies feature? Can I plumb in <PackageDependency Name="Microsoft.VCLibs.140.00" MinVersion="14.0.24123.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> now or?

solomoncyj commented 1 year ago

Hey @denelon, been a few years. What's the status of the dependencies feature? Can I plumb in <PackageDependency Name="Microsoft.VCLibs.140.00" MinVersion="14.0.24123.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> now or?

your pr will still get blocked

denelon commented 1 year ago

We're targeting support for dependencies via the WinGet manifest in WinGet 1.6. We don't have a plan for "cross-source" dependencies, so targeting VCLibs for example should map to the WinGet Package ID in the EarTrumpet manifest in the winget-pkgs repository. The experimental feature is in place so it's possible to test with local manifests.

riverar commented 1 year ago

Thanks @denelon, sounds good to us. And that dependency support will trickle through to Windows 10 and Windows 11 clients?

denelon commented 1 year ago

Yes, When WinGet 1.6 is released, the store will automatically update Windows 10 RS5 and above (assuming the store update service isn't disabled).

kdpuvvadi commented 1 year ago

targeting manifest version 1.5.0? or will it be later on 1.6.0?

what are the ExternalDependencies though? URL of the dependency?

denelon commented 1 year ago

Dependencies is ready to go with WinGet 1.6.

riverar commented 1 year ago

@denelon Can you close the loop here and point to docs on what we need to do to support this?

rollingmoai commented 1 year ago

When will packages with dependencies be accepted to https://github.com/microsoft/winget-pkgs? Validation pipelines are still failing. A PSA should be opened up over there, similar to https://github.com/microsoft/winget-pkgs/issues/87300.

upintheairsheep commented 1 year ago

Make sure to re-open pulls that were closed via asking the user to do so, or by copying the branch to your account and pulling it.

riverar commented 11 months ago

Did docs ever ship for this? What do I do as a publisher? Never got an answer.

riverar commented 11 months ago

@denelon

riverar commented 11 months ago

@denelon Another ping.