winget-cli icon indicating copy to clipboard operation
winget-cli copied to clipboard

Support installing other archive formats

Open rollingmoai opened this issue 1 year ago • 11 comments

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/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
  • https://github.com/RussellJerome/UnrealModLoader/releases/download/v2.2.1/UnrealModLoader_V2.2.1.rar

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 avatar Feb 01 '23 05:02 rollingmoai

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

ghost avatar Feb 08 '23 10:02 ghost

The lack of .tar.gz support is a blocker for packaging Kubernetes kustomize tool, see https://github.com/microsoft/winget-pkgs/discussions/101705 and https://github.com/microsoft/winget-pkgs/pull/101695

mloskot avatar Apr 06 '23 16:04 mloskot

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 avatar May 23 '23 16:05 superusercode

@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.

superusercode avatar May 23 '23 17:05 superusercode

@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.

denelon avatar May 25 '23 16:05 denelon

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

kbdharun avatar Jul 19 '23 04:07 kbdharun

@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?

rollingmoai avatar Sep 27 '23 14:09 rollingmoai

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!

lucasfcnunes avatar Dec 03 '23 12:12 lucasfcnunes

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.

denelon avatar Feb 17 '24 00:02 denelon

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

masterflitzer avatar Feb 17 '24 01:02 masterflitzer

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.

apsoyka avatar Feb 17 '24 05:02 apsoyka

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

solomoncyj avatar Mar 26 '24 14:03 solomoncyj