microsoft / microsoft/winget-cli

Non-shell based archive handling

Open
#4,790 5 comments 0 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

Relying on the Windows shell archive/zip handler feels a bit... fragile? Odd? I just ran into an issue with winget failing due to the archive handler being unregistered (see https://github.com/microsoft/winget-pkgs/issues/171477 for details). That problem is certainly my fault, and I shot myself in the foot with it. However, I noticed there's other issues in this project (e.g. #3311 and #3505) that may be a direct result of using the shell's archive handler, and I wonder if it's wise in the long term to use an archive library directly? No idea what lib would be best for this project, or the work that would be involved, but... figured I'd raise the question.

Proposed technical implementation details

No response

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 by reviewing how winget currently invokes the Windows shell archive handler and read related issues #3311 and #3505 for failure cases. The issue provides no file, test, or library choice, so completion would require selecting and integrating a direct archive library with tests covering the reported archive-handling problems.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.