A collection of ZIP‑related utilities, including Windows‑native Self‑Archiving Containers (SACs).
The concept itself is not new - it’s the continuation of a lineage that goes back more than 40 years. Early 1980's CP/M and early DOS: Developers sometimes shipped COM/EXE files with appended data, and the program unpacked itself. The more public "Grandfather Rights" could be ARC‑SEA (Self‑Extracting ARC). This produced .EXE files that: Contained the ARC archive, contained a tiny decompressor stub and ran on any DOS machine without needing ARC.EXE. Then later Phil Katz introduced PKSFX, a ZIP‑based self‑extracting EXE. This became the dominant SFX format from the 1990s.
Its "relatively" easy to write a fast pure CMD file from Windows ME (Millenium Edition) and XP onwards, to emulate the SEA approach, and that concept became the "First Version" of TAR-SAC. It has "Pro's and Con's" fast light easy to edit (no need to compile). But the issue is like SEA model it often has to carry a compressed copy of the stub in the payload. No example is included here because the original implementation was only a personal PoC (proof‑of‑concept).
Initially TAR‑SAC worked similarly to CMD‑SAC: the stub acted as a controller that repeatedly invoked the system tar.exe helper to unpack or repack the payload. Because TAR is external and not embedded, the early variant followed the SEA‑style pattern and carried a compressed copy of the stub inside the payload.
The newer TAR‑SAC design no longer embeds the stub. Instead, it uses a simple boundary marker between the executable stub and the ZIP/TAR payload. Tar.exe is indifferent to separation, but the C# loader must reliably detect the marker and determine where the stub ends and the archive begins. This makes the structure cleaner and avoids carrying a compressed copy of the stub inside the payload.
Functionally should be similar to both CMD and ZIP based variants.
Uses a model similar to the classic PKZIP/PKSFX self‑extracting executables. The SAC stub contains its own ZIP‑aware logic: it locates the appended ZIP payload, parses the local headers, unpacks modules, and can rebuild the archive. No external ZIP tool is required.
This makes ZIP‑SAC a true self‑extracting ZIP container in the PKSFX tradition, where the stub is the ZIP engine and the appended ZIP is a standard payload.
From https://github.com/GitHubRulesOK/MyNotes/blob/master/SMOPs.MD#zip-it-add-to-fileextx-or-filezip
This is the one line extension tool for Windows TAR to try to provide the -a (add) or -u (update) missing functions.
Windows 10+ TAR.exe can extract one or more files from zip based containers such as DocX or similar office files.
However it cannot add a single file TO a DocX or similar ZIP based file or folder.
Provided as a CMD file which can be edited to provide zip-it.exe in current folder.
ZIP‑IT‑2 is a companion ZIP editor for standard ZIP‑based files and SAC executables (ZIP‑SAC or TAR‑SAC).
It does not create new ZIP files — it edits existing ones.
Supports:
- list (loose match), or slightly more verbose detail such as file entry size
- delete (strict match)
- extract (strict match)
- add/replace (copy local file → entry inside archive)
ZIP‑IT‑2 is intentionally small, simple, and focused, thus in theory could be used as an SAC engine.
A related 7-Zip addin utility "ListArc" can be found at https://github.com/GitHubRulesOK/MyNotes/blob/master/C%23/listarc.cmd . This allows in many cases to see a listing inside standard Zip (or some other) self extracting archive files. Most easily used as a right click "SendTo" as simpler than launch a console command.
