-
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
Winget Install Meta-Package #4975
Comments
We've looked at a concept for metapackages, but this particular scenario is not what we've been considering. We're looking at a metapackage more in the terms of "runtimes". I'll use Java as the example here. I want to install a package that depends on a Java runtime. I don't really care which one is on the system, but WinGet should be able to know the Java Runtime is satisfied by any of the known Java Runtimes. If one is present, then my package should be installed and use the runtime on the system. If the dependency is not satisfied, then WinGet should "pick one" for me, or tell me what I can choose from. For the scenario above, this looks more like "code libraries" rather than WinGet packages. I'd suggest using a configuration file or a packages.json file (like the output of I'm going to leave this open to make sure I'm not misunderstanding the scenario, but unless I'm missing something I don't think this is a good fit for WinGet. Other package managers like NuGet, pip, and npm are better suited to the scenario I think is being described above. |
I would also like to add that you can chain multiple packages together in a single install command
|
I like it. The way I understand it, a meta-package would be like a named collection of packages; or like a package with dependencies but no installer for the main app. I know at least Gentoo has the same concept of meta-packages. For example, there is a KDE meta package ( I could see this being useful for Sysinternals, for example. We can have individual packages for each tool, and then one meta-package that installs all the tools. (We already have something like that, but the global Sysinternals package simply has an installer/zip that contains everything, instead of using the individual installers/zips for each tool.) Configuration, import and specifying multiple packages in the CLI already allow installing more than one package with one command, but having meta-packages in a source would make it more discoverable. |
Description of the new feature / enhancement
I would like the option to install multiple packages simultaneously using the Winget install command, similar to the Winget configuration feature but without needing to define a dsc.yaml file.
I want to define a package that contains several other packages as the actual payload. Then, I can simply execute the command
winget install --id MetaPackageName
, and all the metapackage content is installed.The metapackage can look like this:
Meta-Package-Version-1.0
If I need a new version, I can create a new metapackage version that includes all the updated components.
Meta-Package-Version-2.0
This can be very useful for handling snapshots of components, allowing customers to install the correct versions of a specific snapshot all at once.
Proposed technical implementation details
No response
The text was updated successfully, but these errors were encountered: