microsoft / microsoft/winget-cli
Support installing other archive formats
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Description of the new feature / enhancement
Continuation of #140. See https://github.com/microsoft/winget-cli/issues/140#issuecomment-706523554:
I agree that supporting other compression methods (zstd, lzma, etc.) and archive formats (7z, tar, etc.) is good and should eventually be added. Zips are the most common, so supporting just them is a good first step and I think it's better to have it ASAP and only after that think about other formats.
Other than .zip, most other software binaries are only available by either .7z and .rar. Examples:
- https://github.com/microsoft/TypeScript/releases/download/v7.0.2/typescript-win32-x64.tgz
- https://github.com/hashcat/hashcat/releases/download/v6.2.6/hashcat-6.2.6.7z
- https://sourceforge.net/projects/mpv-player-windows/files/release/mpv-0.35.1-x86_64.7z/download
Hopefully .7z and .rar gets added first, they're quite common. Other archive formats such as .tar, .gz, .zstd etc. can be added soon.
Proposed technical implementation details
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the discussion in #140 and its linked comment, then trace how winget-cli currently handles .zip packages. Compare that path with the requested .7z and .rar support, followed by .tar, .gz, and .zstd; done means the supported archive formats can be installed reliably and are covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100