aPackage sfx archiver

Copyright 2001-2014 Joergen Ibsen


aPackage is a simple sfx archiver developed as an alternative to the well-
known archive formats (zip, rar, ace) which produce small archives but
require a large sfx stub to depack the data. For smaller sets of files
the size of the sfx stub can account for quite a large part of the final
sfx size.

aPackage uses LZ77 based compression (the aPLib compression library) to
produce tight archives while maintaining a very small stub size. The sfx
archives also benefit from the extremely fast extraction speed of the aPLib

aPackage sfx archives support many features known from other sfx archives
like password protection, optional overwriting of files, optional running
of a setup file after extraction.

Due to the way the sfx stub works it is not recommended to use aPackage
for archiving more than 20 mb of data.


These are the arguments for the aPackage archiver:

Syntax:    aPackage [options] <sfx file> [files ...]

General options:
  -p[pwd]  Password protect archive (empty = ask)
  -s       Sort files by extension

SFX options:
  -a       Automatically quit after extraction
  -e<file> Execute 'file' after extraction
  -o       Default to not overwriting files
  -q       Create silent sfx (no extraction dialog)
  -t[path] Default directory is 'path' (empty = temp)

File handling options:
  -f<+|->  Store empty folders [+]
  -r[+|-]  Recurse subdirectories [-]

Wildcards (* and ?) are allowed in the file specifications.

The switches can be given anywhere in the argument-list, in any case and
in any order you like. File handling options affect all file specifications
that follow them. The switches work like this:

-p[pwd]  : Encrypts the archive with a password (4-64 characters long).
           If no password is given, the sfx will ask for it.

-s       : Sorts the files by extension before adding them to the
           archive. May improve compression ratio in some cases.

-a       : Makes the sfx stub automatically quit after successful

-e<file> : Makes the sfx stub execute the file 'file' after extraction
           (can be used to do post-extraction stuff like installing).

-o       : By default the 'Overwrite files' checkbox in the sfx is
           checked, this switch makes it default to being un-checked.

-q       : Creates a silent sfx archive, which will extract the files to
           the current directory (or the temp directory if '-t' is
           specified) without showing the extraction dialog.

-t[path] : Sets the default extraction path to 'path'. If no path is
           given, the temp directory is used.

-r[+|-]  : Recurses subdirectories searching for files that match the
           file specifications.

             -r  : recurse only on wildcards
             -r+ : recurse always
             -r- : do not recurse [default]

-f<+|->  : Makes the archiver store empty directories in the archive.

             -f+ : store empty directories [default]
             -f- : do not store empty directories

Tips and Tricks

When creating an archive with many files of different types, the -s
switch can reduce the size of the resulting archive substantially.

If you are making an installer, the switch combination -q -t -e"setup.exe"
can be used to make a sfx archive which quietly depacks the contents to the
temp directory and runs the file setup.exe.