winget-cli
winget-cli copied to clipboard
[Feature Request] Allow winget manifests to use realitive paths.
Description of the new feature/enhancement
The manifest should support local paths so winget can install from local packages.
User Scenario:
I want to place a winget manifest in a zip file with the msi. Then deliver that zip to that system using any method I want and unpack it. Then I want to programmatically have winget use that manifest to install that msi.
This would make winget a useful tool for anyone that is already using a package manager that they are happy with. The biggest pain point is usually repackaging everything with the right command to work with that package manager. winget can solve that problem. If they could drop the binaries and a winget manifest in a package, they could use a universal install script in the package manager that unpacks and executes winget.
I could also see this used in Azure DevOps as an action for deploying dynamic or just built packages.
Proposed technical implementation details (optional)
- I am not proposing that winget unzip the package and execute the manifest (but that would also be great)
- I am not proposing that the winget binary get delivered with the package.
winget installshould allow you to pass it a manifest to installwingetshould allow relative paths in the manifest.- relative as in relative to the location of the manifest
- should work on local system and UNC paths
- I'm not proposing that it support retaliative paths in the repository or on https endpoints at this time.
@KevinMarquette From what the docs say winget already allows you to specify custom manifest locations so essentially all that's left is the ability to make it handle relative paths.
It may support that already but calling it out to make sure, and to present this other use case.
This is somewhat related to #160
I think my feature request helps to understand the scenario additionally, so that the InstallerUrl Parameter in the manifest can reference/call local relative/absolute paths for the EXE/MSI Installers.