back
70 comments
I wish 7-zip would support .tar.gz the way WinRAR does.

WinRAR allows you to browse a .tar.gz without extracting it, 7-zip extracts the .tar to a temp file. It makes working with large .tar.gz files impossible.

(Yes I know that because of how .tar works WinRAR must decompresses it to build the files list. But it beats having to write a 1TB .tar to disk just to see the file listing.

Gnome's file-roller can do this. Not sure if it can run on Windows though.

https://wiki.gnome.org/Apps(2f)FileRoller.html

WinRAR also seems to handle opening a file in an external app without manually extracting much better. I can just double-click a file in an archive and open it in an external app, while with 7-zip it seems to immediately delete the temporary file so the external app ends up trying to open a non-existent file. Rather annoying if you're just trying to quickly check something like the readme.txt in an archive.
>while with 7-zip it seems to immediately delete the temporary file so the external app ends up trying to open a non-existent file.

No, 7-zip only deletes the file after you close its window, so as long as you don't close 7-zip any apps should be able to open those files. Winrar doesn't delete on close, but that has its own problems, namely that you accumulate a bunch of extracted files in your %TEMP% directory, and have to run disk cleanup to delete them.

I just tried it with 7-zip 19.0, and double-clicking a video file in a 7z archive, and VLC could not open the extracted file because it didn't exist.

E: Tried again with procmon monitoring 7-zip, and after it completed writing the file it deleted it.

how is that possible?

tar.gz files don't have a central directory (like zip), and they are compressed as one stream (almost always non-seekable)

.tar itself gives you enough information to seek forward past each file, though every file must be visited.

.gz does not give you enough information to randomly seek within the big compressed .gz file, so you cannot skip past files within a .tar archive.

But if you load a .gz file and consume the entire stream, but keep periodic checkpoints of your past sliding window (about 64KB) every 1MB or so, you can get random access with 1MB granularity. You still had to consume the entire stream to build the lookup though.

Decompress, scan as you go, discard. Having to read a few hundred GB and scan a terabyte is a nuisance. Not having to write a terabyte is priceless.
Could also maintain an in-memory index so that you can go back after the fact and extract individual files.
I am guessing the gzip is retrieved as a stream and then reading the tar from that stream in memory?
For those who are unaware, there is another project [1] that tracks upstream which adds support for various codecs like Zstandard. Many folks (such as myself) opt to install their releases instead.

[1]: https://github.com/mcmilk/7-Zip-zstd

I prefer NanaZip[1]. It has all the features of the ZS and NSIS fork while being fully compatible with the new Windows context menus.

[1]: https://github.com/M2Team/NanaZip

Perhaps a tangent, but until now, I've only seen or used "codec" in the audio/video sense. While somehow awkward, it seems this would also be correct, since it also compresses and decompresses. Video codec but archive format.

Sometimes you see a word used a new way and wonder if you've just been wrong all these years.

The defining factor isn't compression/decompression, it's just encoding.

You'll see codec used in things like text encoding.

While technically true, the term has been largely co-opted by the A/V realm. It’s pretty rare to hear outside of the context.
Note that the official 7z build supports zstd compression since version 24: https://github.com/ip7z/7zip/releases/tag/24.05
Only decompression, not compression.
There is also NanaZip which aims to be a more modern Windows application and I think also incorporates the additions of the 7zs fork https://github.com/M2Team/NanaZip
Maybe it's just me but I got weird feelings seeing 7-Zip-zstd repo having more stars than it's upstream.
Github is just a mirror used to post sources of releases and track bugs. It has only 11 commits so far.
7-Zip 15.05 is still useful today, because it was the last version to include built-in support for decompiling NSIS installer scripts. The feature was removed due to security concerns.
I've not personally used it, but there's a fork that adds NSIS decompilation back in: https://github.com/myfreeer/7z-build-nsis
Why is decompiling NSIS a security concern?
In case of bugs in the decompiler. Extracting the files is still possible in newer versions, just not decompiling the installer scripts.
what is NSIS?
Nullsoft Scriptable Install System, a byproduct of Winamp that is ubiquitous in lightweight software installers for Windows.

https://sourceforge.net/projects/nsis/

Is there an alternative version for Linux?
I wish either RAR or 7-Zip would finally implement a memory-hard KDF for encrypted archives.
Lately I use zstd + tar for making archives that preserve file metadata.
I don’t know why we need this now because Microsoft had in build zip so
Because that one is rubbish, and this is gold.
Why doesn't Windows ship with an unarchiving utility?
Windows has shipped with "ZIP folders" and the ability to create and extract ZIP files since the late 90s/early 2000s I believe (not sure exactly what version.) As of the latest versions of Windows 11, Windows ships with libarchive-based archive extraction, which should let you extract many archives natively (including 7-zip and RAR) via the UI as well as the CLI (via BSD TAR, which also ships with Windows these days.)
ZIP Folders was developed by Dave Plummer from Microsoft (who runs the Dave's Garage YouTube channel). It was made in his spare time, then was licensed to Microsoft afterwards.
Is there any proof that any version of windows shipped his implementation? Because many things that scammer (like literally he ran a pc tech support scam company) says have little to no relation to reality
>ZIP Folders was developed by Dave Plummer from Microsoft

I'm not sure I'd tell people I did that if it were me.

I think those first appeared in some form in XP. I don't recall 2000 having support for it integrated into explorer.
They were introduced in the Microsoft Plus package for Windows 98, then finally integrated into Windows ME. Windows ME was released after Windows 2000, so the feature didn't appear there. But it did appear in XP. You could actually install the Windows ME version of the shell extension on 2000.
In October of 2023 Windows 11 was updated to use libarchive https://www.techspot.com/news/100663-windows-11-extends-supp...
I think that at least since win10 there is zip embedded in windows, it’s just not 7z
it goes much further back than that, think it was xp

the issue is that it sucks, it's at least 10x slower than 7 zip, maybe more, showing lots of files/folders freezes the explorer gui on w10 and it only supports .zip (which could've been changed on w11, never used, never tried)

Zip support has been in Windows since XP.

In 11 (and maybe later 10 updates) they added 7z and rar support.

Except weirdly enough, when you open a .zip there is an "Extract All" button.

When you open a .tar.gz or a .rar that button is gone.

For those you need to do right mouse on the .tar.gz or .rar and click "Extract All...".

I miss the days when Windows' UI was consistent.

It does ship with one, right click on zip file -> extract all. Why are you posting incorrect information that would have been clarified to you by a 3 second google search beforehand?

It didn't ship in the distant past due to anti-competitive reasons but it is there now.

It doesn't ship with a working unarchive utility, the one that is included will discard anything that goes over the maximum pathname length.
It also tends to kill explorer any time you try to decompress anything you'd actually compress in the first place (ie 100gb of json or a db dump)
It ships with a very terrible wizard. Maybe I should say, why does the Windows unarchiving feature suck?
It does, but it's annoying because it treats things as folders, which I suppose is nice if you just want to look inside the zip, but a pain if you just want to extract something in a normal way like you'd do with any other unzipping utility.
I wish there were an easy way to get Explorer not to show Zip files as a "folder." Such a huge anti feature for me.