home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / packer / lzexe / lzeshl20.doc < prev    next >
Text File  |  1990-03-24  |  9KB  |  213 lines

  1.                                  LZESHELL.EXE
  2.                                  Version 2.00
  3.  
  4.      ┌───────────────────────────────────────────────────────────────────┐
  5.      │  An English language shell program for automating the use of      │
  6.      │  Fabrice Bellard's EXE file compression utilities:  LZEXE for     │
  7.      │  compressing EXE files; UPACKEXE for unpacking EXE files that     │
  8.      │  have been packed with Microsoft's EXEPACK utility; and COMTOEXE  │
  9.      │  for converting COM files to EXE files so they can be compressed. │
  10.      └───────────────────────────────────────────────────────────────────┘
  11.  
  12.      (This version of LZESHELL is similar to versions 1.00 and 1.01, but
  13.       it automaticaly runs three of Bellard's file compression utilities
  14.       instead of two.)
  15.  
  16.  
  17.  
  18. AUTHOR:  Pete Petrakis, CIS 76555,1175
  19.  
  20.  
  21. DESCRIPTION
  22.  
  23. This program is designed to work only with version 0.91 of LZEXE, a utility
  24. that can compress EXE files substantially while leaving them executable.  The
  25. compressions LZEXE achieves are usually in the range of 30 to 40 percent,
  26. although they are often higher than that.  Programs compressed with LZEXE
  27. decompress themselves when they are run.  The decompression time is negligible.
  28. LZEXE was written by Fabrice Bellard, of Grabels, France and is still under
  29. development.  It is a free program, but Mr. Bellard retains the copyright.
  30.  
  31.   Version 0.91 of LZEXE overcomes version 0.90's problem of excessive load
  32. memory size for compressed files.  The compressed files now take about the same
  33. amount of memory to load as they did before compression.  For this reason my
  34. previous shell program LZEFIX, which ran Microsoft's EXEMOD header utility
  35. to reduce the excessive load sizes created by version 0.90, should not be used
  36. with version 0.91.  It isn't needed.  In fact it could cause problems
  37. (including having to reboot your system) if you try to use it with this newer
  38. version of LZEXE.  Accordingly, LZESHELL makes no adjustment to the headers of
  39. compressed EXE files.
  40.  
  41.   Unlike the previous version of LZEXE, version 0.91 prompts, in French, for
  42. user input, depending on what it finds out about the file you have asked it
  43. to compress.  LZESHELL translates the prompts into English (the translation
  44. is not literal) and feeds your responses to LZEXE.
  45.  
  46.   That's not all it does, however.  LZESHELL version 2.0 automates the use
  47. of three of Bellard's utilities:  LZEXE v0.91, UPACKEXE v1.00; and 
  48. COMTOEXE v1.01.
  49.  
  50.   UPACKEXE unpacks EXE files that have been compressed with Microsoft's
  51. EXEPACK utility so LZEXE to do an even better compression job on them.
  52. COMTOEXE converts .COM files to .EXE files so they can be compressed with
  53.  
  54.                                    -1- LZEXE.  The previous versions of LZESHELL (1.00 and 1.01) were designed to run
  55. LZEXE and UPACKEXE, but not COMTOEXE; that program had to be run separately.
  56. Version 2.0 runs all three automatically.
  57.  
  58.   Version 0.91 of LZEXE can detect files that have been EXEPACKed.  When it
  59. does, it tells you so and asks whether it should continue the compression or
  60. quit so you can run UPACKEXE first.  In that situation, you would normally end
  61. up running two programs manually.  When you use LZESHELL, however, you don't
  62. have to quit if you want to use UPACKEXE.  LZESHELL translates the prompt into
  63. English, and if your response is that you want to unpack the file before
  64. compressing it, it immediately runs UPACKEXE.  Then it runs LZEXE again
  65. to complete the compression.  In other words, you don't go back to DOS until
  66. both programs have been run.
  67.  
  68.   If you run LZEXE alone and tell it to compress a .COM file (using the
  69. command:  LZEXE filename.COM), it won't do it.  Instead it will quit, with
  70. advice to convert the file to an .EXE first with COMTOEXE.  Again, this
  71. means running two programs manually.  If you use LZESHELL, however, the
  72. conversion of the .COM file to an .EXE file by COMTOEXE proceeds automatically,
  73. followed automatically by compression of the .EXE version by LZEXE.
  74.  
  75.   A point to remember about COMTOEXE is that it doesn't take your word that
  76. the file is a .COM file, because .EXE files sometimes mistakenly get named
  77. .COM (such files will still run).  Instead, COMTOEXE checks the file header
  78. to see what kind of executable file it really is.  If it sees the mark of an
  79. .EXE file there, it prints a warning and stops.  When you are running it
  80. through LZESHELL, however, the warning causes the falsely named *.COM file to
  81. be renamed *.EXE, and the compression with LZEXE then proceeds automatically.
  82.  
  83.   In summary, the purpose of LZESHELL is to take control of all three of these
  84. fine utilities.  You only need to run one program, LZESHELL, and it runs the
  85. others as needed.
  86.  
  87.   Both UPACKEXE and LZEXE save source files as backups, changing their names
  88. to *.OLD.  This can create a problem when you run UPACKEXE then run LZEXE.
  89. The *.OLD backup file saved by UPACKEXE will be replaced by the *.OLD file
  90. saved by LZEXE -- you end up losing the EXEPACKed *.OLD file.  LZESHELL
  91. eliminates this problem by immediately renaming the *.OLD file produced by
  92. UPACKEXE to *.OPK.  This leaves you with two backup files -- one for the
  93. original EXEPACKed file (*.OPK) and one for the unpacked file (*.OLD).  The
  94. third file will be your LZEXE-compressed EXE file.  If the compressed file
  95. works, you can remove both backup files from your disk.  Otherwise, you can
  96. erase the compressed EXE file and rename one of the backups to *.EXE (probably
  97. the EXEPACKed one, *.OPK, since it's the original and it's smaller).
  98.  
  99.   LZESHELL also generates English prompts for another situation that LZEXE
  100. v.0.91 detects, namely the use of overlays by the EXE file.  Here you are
  101. given the choice of aborting the compression or continuing it (taking the
  102. chance that the compressed file won't work).  UPACKEXE v1.00 detects "internal"
  103. overlays (I'm not sure what those are), but in that situation it only issues
  104. a warning and requires no user choices.  LZESHELL translates the warning into
  105. English.
  106.  
  107.                                    -2-   Finally, LZESHELL adjusts the timestamp on derivative files so they are the
  108. same as in the original file.  In contrast, LZEXE, UPACKEXE, and COMTOEXE, when
  109. run by themselves, always give the new file the current date, which some people
  110. feel is a shortcoming since it obliterates a useful identifier.
  111.  
  112.  
  113. RUNNING THE PROGRAM
  114.  
  115. LZESHELL, LZEXE (v.0.91), UPACKEXE (v1.00), and COMTOEXE (v.1.01), or their
  116. directories, should be on your system's path (use the DOS PATH command to do
  117. this, preferably in an AUTOEXEC.BAT file).  This will allow you move freely
  118. from directory to directory to compress EXE files.  You should always go to the
  119. directory of the file you want to compress so your source and derivative files
  120. can stay together and receive the same timestamp as the original.
  121.  
  122. Compressing EXE files:
  123.  
  124.   To compress an .EXE file, type the following at the DOS prompt:
  125.  
  126.                   LZESHELL [EXE file to be compressed]
  127.  
  128. Use of the .EXE extension is optional.  If you don't use an extension, LZESHELL
  129. will assume it's an .EXE file.
  130.  
  131.  
  132. Compressing COM files:
  133.  
  134.   To compress a .COM file, type the following at the DOS prompt:
  135.  
  136.                     LZESHELL [filename.COM]
  137.  
  138. Notice that you have to use the .COM extension on the command line if the
  139. file you want to compress is that type.  That extension acts as a flag that
  140. tells LZESHELL that the first thing it must do is run COMTOEXE to convert
  141. the file to an .EXE file before compressing it with LZEXE.  If you don't
  142. use the .COM extension, you will get a "file not found" error (unless you
  143. happen to have an .EXE file with the same first name).
  144.  
  145.   As noted, an .EXE file that has been erroneously named *.COM will not be
  146. processed by COMTOEXE.  However, the message that COMTOEXE prints in that
  147. situation signals LZESHELL to rename the file to *.EXE, then run LZEXE to
  148. compress it.
  149.  
  150.  
  151. DISPLAYS
  152.  
  153.   Translated warnings and prompts will appear in a box on your screen.  At
  154. the end of the compression a "scorecard" will appear showing you the file
  155. size before and after compression, the size reduction in bytes, and the
  156. percent reduction.
  157.  
  158.  
  159.  
  160.                                    -3- DISTRIBUTION 
  161.  
  162. LZESHELL may be freely distributed provided it's not modified and no money
  163. is charged for it.  Please be sure this document accompanies it.
  164.  
  165.  
  166. DISCLAIMER 
  167.  
  168. Pete Petrakis accepts no responsibility or liability for any mishap 
  169. resulting from the use of LZESHELL.  To protect yourself against loss of
  170. valuable files you are advised to keep backups in a safe place or check the
  171. performance of compressed files thoroughly before discarding their backups.
  172.  
  173.   LZEXE and perhaps its associated programs are still under development, so
  174. there is no assurance that this particular version of LZESHELL will be
  175. compatible with future revisions Mr. Bellard might make.  I will try to update
  176. LZESHELL as needed to maintain compatibility.  Revisions will intially be made
  177. available on the IBMSYS Forum of Compuserve (type GO IBMSYS).
  178.  
  179.                                         Pete Petrakis
  180.                                         1236 River Bay Road
  181.                                         Annapolis, Maryland 21401
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.                                     -4-