products download purchase news contacts about us main page official support forum new version freeware plugins users developers frequently asked questions links about
Servant Salamander File Manager - Developers
EN

Sfx7Zip: 7-Zip self-extractor based on LZMA + BCJ


Servant Salamander installer (from version 2.5 beta 10) is using self-extractor based on popular 7-Zip LZMA SDK.

The main features of Sfx7Zip:
  • Windows 9x, NT, XP self-extractor optimized for x86 application distribution.
  • Small SFX size: 23KB for the release version, 13KB after UPX compression.
  • Handles standard 7-Zip archives created by 7-Zip archiver or Servant Salamander.
  • Supports the LZMA method and x86 Branch Coder (BCJ).
  • Coded in plain C -- no bloated COM, MFC, RTL, etc.
  • Extracts archive to TMP, executes setup.exe, waits while it runs, and cleans TMP.
  • Czech and English versions are available.
  • Sfx7Zip is a free software distributed under the GNU LGPL.
Extensions to the original 7-Zip from LZMA SDK 4.27:
  • Support for zero-sized files.
  • Support for empty directories.
  • Added Brach Jump Coder (BCJ).
  • Support for file attributes.
  • Support for file dates and times.
How does it look?

How efficient is the compression?
Compression ratio results are very dependent upon the data used for the tests. We have compared 7-Zip with some of the leading archivers: WinRAR 3.50, CABARC 1.0, PKZIP 2.50. FILE SET: Servant Salamander 2.5 beta 9 full installation (44 directories, 166 files, 15 172 561 bytes).

ArchiverCompressed sizeRatio
7-Zip 4.26, maximum compression5 129 062100%
Microsoft CABARC 1.0, -m LZX:215 594 921109%
RAR 3.505 962 645116%
PKZIP 2.507 047 241137%

How does it work?
  • Download Sfx7Zip and compile Sfx7Zip.exe or use the prepared release version.
  • Optional: compress it using the UPX packer (size will be reduced to 13KB).
  • Pack desired files using 7-Zip compression (use the Maximum method). Place your installer or setup "setup.exe" at the root directory of archive. This application will be executed by Sfx7Zip.exe.
  • Attach your 7-Zip archive behind your Sfx7Zip.exe (SFX header).
    For example using this command:
    copy /b sfx7zip.exe +archive.7z output.exe
  • That's all...

Creating 7-Zip archive using Servant Salamander's 7-Zip plugin:

Todo
Another 2% size reduction could be achieved by using the BCJ2 Branch Coder. The Ultra compression method for executable files will be then available. If you are interested in implementation, please let us know.

Links



Privacy Statement  |  Site Map  |  Search

© 2009 ALTAP. All rights reserved.