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

Support installing other archive formats #2899

Open
rollingmoai opened this issue Feb 1, 2023 · 14 comments
Open

Support installing other archive formats #2899

rollingmoai opened this issue Feb 1, 2023 · 14 comments
Labels
Issue-Feature This is a feature request for the Windows Package Manager client.

Comments

@rollingmoai
Copy link

rollingmoai commented Feb 1, 2023

Description of the new feature / enhancement

Continuation of #140. See #140 (comment):

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:

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

@rollingmoai rollingmoai added the Issue-Feature This is a feature request for the Windows Package Manager client. label Feb 1, 2023
@ghost
Copy link

ghost commented Feb 8, 2023

I support this.
Would like to be able to install mpv using winget or git-versions of gyan's ffmpeg

@mloskot
Copy link

mloskot commented Apr 6, 2023

The lack of .tar.gz support is a blocker for packaging Kubernetes kustomize tool, see microsoft/winget-pkgs#101705 and microsoft/winget-pkgs#101695

@superusercode
Copy link
Contributor

https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/

We have added native support for additional archive formats, including tar, 7-zip, rar, gz and many others using the libarchive open-source project. You now can get improved performance of archive functionality during compression on Windows.

Will winget be able to use this functionality when it releases?

@superusercode
Copy link
Contributor

@denelon I know this is really early but would winget be able to use the new archive support in windows 11 when it releases? I'm not sure how it will be implemented but I'd like to think it will be added to the existing APIs.

@denelon
Copy link
Contributor

denelon commented May 25, 2023

@superusercode yes, we want to see if it's possible to take advantage of the new features in libarchive to support more formats. As soon as we have time to dig into the new Insider version of Windows and figure out the right way to handle this in earlier versions of Windows (back compatibility is tricky) we want this capability.

@kbdharun
Copy link

+1 for adding 7z support as it is the blocker for adding beta builds of Dolphin emulator to the manifest under DolphinEmulator.Beta.Dolphin.

@rollingmoai
Copy link
Author

@denelon I know this is really early but would winget be able to use the new archive support in windows 11 when it releases? I'm not sure how it will be implemented but I'd like to think it will be added to the existing APIs.

@denelon Now that this has been released to stable, any chance that you will start looking at this?

@lucasfcnunes
Copy link

Adding .tar.bz2 or .conda opens up the possibility of using the entire conda-forge building system, which has more than 20k feedstocks.

e.g.
https://anaconda.org/conda-forge/micromamba/files
https://anaconda.org/conda-forge/anaconda-project/files
https://anaconda.org/conda-forge/postgresql/files
https://anaconda.org/conda-forge/rust/files
https://anaconda.org/conda-forge/go/files
... and many more!

@denelon
Copy link
Contributor

denelon commented Feb 17, 2024

I've been talking with several folks about support for some of the newer formats Windows 11 natively understands. The challenge here is that unless we pull libraries into WinGet or have WinGet install some other dependencies, users on earlier versions of the OS will not be able to install packages depending on the newly supported compression formats.

@masterflitzer
Copy link

what about printing a message that their version of windows doesn't support e.g. tar.gz natively? this wouldn't make the experience of those users worse but it would improve the experience of users that use newer versions of windows

@AnastasiyaSoyka
Copy link

I understand that locking out a substantial portion of the userbase who are using older versions of Windows is a very suboptimal solution.

However, over time, the number of users who are locked out of installing these packages will decrease, as users upgrade to newer versions of Windows.

Furthermore, it's not exactly unheard of for Windows to gate new features behind system updates. I feel like most users would understand this limitation as just another consequence of deferring timely updates.

@solomoncyj
Copy link

this also allows interractive only installers to be installed if they are just a wrapper exe with the program files / msi underneath

@pl4nty
Copy link

pl4nty commented Oct 27, 2024

A lot of archive types work with InstallerType: zip by setting archiveExtractionMethod to tar, but malware scans fail (pure only supports zips), and the archives are renamed to .zip during install. Maybe SmartScreen or AMSI could replace/complement pure?

Tested 7z, rar, tgz and tbz2 on Windows 22631.4391 with Winget v1.8.1911 and local manifests:

@pl4nty
Copy link

pl4nty commented Nov 22, 2024

I've implemented AMSI to replace pure in #4910, would love some feedback. The default archiveExtractionMethod would also need changing to tar, would that cause any problems?

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

10 participants