Skip to content
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

Non-shell based archive handling #4790

Open
johnburnett opened this issue Sep 4, 2024 · 5 comments
Open

Non-shell based archive handling #4790

johnburnett opened this issue Sep 4, 2024 · 5 comments
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.

Comments

@johnburnett
Copy link

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 microsoft/winget-pkgs#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

@johnburnett johnburnett added the Issue-Feature This is a feature request for the Windows Package Manager client. label Sep 4, 2024
@denelon
Copy link
Contributor

denelon commented Sep 4, 2024

The only place this caused trouble was in the system context which is why the following was implemented:

@denelon
Copy link
Contributor

denelon commented Sep 4, 2024

We had looked at libarchive, but it wasn't available in earlier versions of Windows where WinGet is supported. We also didn't want to bloat ourselves by bringing a library along for the ride when others are already available on the system.

@johnburnett
Copy link
Author

Fair enough, and hard to argue when my argument is based on "feels", but it also seems like the two linked issues aren't fixable while the shell extractor is being used.

@whindsaks
Copy link

If the default registry association does not support opening the zip file as an IShellFolder, winget could fall back to accessing it directly by CLSID.

@johnburnett
Copy link
Author

That would certainly be lovely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

No branches or pull requests

3 participants