microsoft / microsoft/winget-cli

[Feature Request] Allow winget manifests to use realitive paths.

Open
#306 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

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 install should allow you to pass it a manifest to install
  • winget should 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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the winget install command and manifest path handling described in the issue. Verify how manifest-relative paths should resolve for local and UNC locations, then confirm installation works from an unpacked manifest and local MSI without adding repository or HTTPS relative-path support.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.