
DataCom Shareware Review

Compressing Executable Files - The LZEXE Family

The recent release of PKZIP/PKUNZIP v2.04 created a lot of interest in the
subject of file compression, at least among BBS users.  It was inevitable that
this release would generate much interest - file compression is crucial to the
way we work.  Compression, primarily by PKWARE's method, is simply what we do
to files to transmit or archive them.  It just makes good sense to squeeze a
group of files into a tight little unique bundle to send them across wires to
other users.

A subject that receives much less attention is the compression of files to
conserve space on hard disks or floppies.  Stacker and SuperStor have been
available for some time.  Depending upon whom one listens to these programs
can be a blessing or a bane.  Quite frankly, I've heard too many horror stories
to be willing to commit any of my precious files to a system with as many
unknowns lurking in the dark as these programs seem to have, to say nothing of
spending money on the software itself, and possibly placing my hard drive in a
position where I may have to reformat it and start over when I least expect
to!

A much lighter touch is available from LZEXE, the work of a French genius
named Fabrice Bellard.  LZEXE compresses only .EXE files and writes a short
decompressor to the end of the newly compressed file.  It does not erase the
original .EXE file, but renames it with the extension .OLD.  As it compresses
the original .EXE file, LZEXE writes the compressed code to a temporary file
with the name LZTMP.EXE.  The temporary file is then renamed with the name of
the original uncompressed .EXE file if and when the compression process is
successfully finished.  Thus the original file is still available in case the
compressed file does not work satisfactorily.  There is no way to reverse the
compression process; if the compressed file does not work correctly, it should
be deleted and the .OLD file renamed with the .EXE extension.  Although LZEXE
only compresses .EXE files, .COM files may be converted to .EXE's using the
utility COMTOEXE, also a Fabrice Bellard product, and then compressed using
LZEXE.

My experience has been that many files can be compressed to less than half of
their original size, with a reduction of 30% or so being about average.  There
have also been a number of files that could not be compressed for various
reasons, and some that were compressed but would not function following
compression.  This is why the creation of the .OLD file is handy.  When a file
is executed, decompression time is so short as to be unnoticeable.  In fact,
when a LZEXE-compressed file is executed, there is absolutely no evidence that
anything was ever done to the original uncompressed file.  LZEXE is completely
transparent.

To say the least, LZEXE is not very user-friendly.  This is not to say anything
critical about the author's programming technique; all the runtime messages
are in French!  Several contributers have dealt with the problem of user-
unfriendliness in several different ways.  One group of collaborators reworked
the original code so as to produce runtime messages in English.  They also
reworked several additional utilities that Bellard had mentioned as future
projects in the documentaion accompanying the original -test version.  The
basic method of operation is unchanged from that of the original French
versions.  Ironically, the README file accompanying this material is dated
July 14, 1990, which just happened to be Bastille Day!  This work is bundled
into a file known as ENGLZEXE.ZIP, which is the work of Luigi M. Bianchi, Bill
Flynn, Mitugu Kurizono, Earle Robinson, Aaron A. Young, and Blaine R. Young.

Pete Petrakis, of Annapolis, Maryland, has produced a shell program called
LZESHELL, which replaces Bellard's rather spartan screen with something more
attractive, inserts English captions where they are needed, and executes
COMTOEXE if an attempt is made to compress a .COM file.  This very successful
shell will work with either the French or English versions of Bellard's
programs.  I personally like to use this shell with the original versions, as
the French runtime messages are fun, and I can still find out what's happening
from the English captions.

LZEXE-WC, by John Gohde of Richmond, Virginia, functions as a frontend for
LZEXE.  It operates across an entire directory or subdirectory, compressing
all .EXE and .COM files except certain problem programs specified in a "skip
list".  If problems are later discovered in executing any of the compressed
files, LZEXE-WC replaces the compressed files with the original uncompressed
versions.  An option is available to automatically delete the uncompressed
files.  Another option causes LZEXE-WC to skip files smaller than a user-
specified size, where little or nothing would be gained through compression.
(When an attempt is made to compress a file of about 2k or less, it is
possible for the compressed file to turn out larger then the uncompressed
one!)

DirX-Directory of Executables, by Raymond T. Kaya of Honolulu, Hawaii,
provides a unique and even more comprehensive approach to the compression of
executable files.  DirX at first glance looks like a dual-windowed file
manager similar to Stereo Shell or QFiler.  Closer examination, however,
reveals that the left hand window lists all the executable files within a
directory that have been compressed, while the right hand window lists the
uncompressed executables in that directory.  The left hand window also lists
the method used to compress each of files listed.  Compressing files using
DirX is easy.  All it takes is a press of the F9 key to activate a pull-down
menu.  Choosing the proper menu entry activates the file compression program.
When the compression is complete, the dual window display returns, with the
name of the newly compressed file appearing now in the left hand window
instead of the right!  If you want ot experiment with DirX, be warned that it
will not work with LZESHELL.  I don't know why.

This just about completes our tour of the LZEXE family of compression
programs.  Taken together, these offerings comprise about the most cost-
effective cure you're likely to find for hard-disk shrinkage, since all the
programs reviewed here are public-domain freebies.  My only word of caution is
to be sure to delete all the .OLD files once you're sure the compressed files
are going to work properly (unless you use LZEXE-WC), otherwise you'll find
that your hard disk has shrunk even more than before!

Filenames:         COM2EXE.COM  LZEXE.ZIP     ENGLZEXE.ZIP
                   LZESHEL.COM  LZE_WC21.ZIP  DRX110.ZIP
Registration Fee:  None


