home *** CD-ROM | disk | FTP | other *** search
/ Chip: Special Survival Kit / Chip_Special_Survival_Kit_fuer_PC_Anwender.iso / 01tools / lzexe / _lzexe.exe / LZESHL30.DOC < prev    next >
Text File  |  1990-05-05  |  13KB  |  266 lines

  1.        ┌──────────────────────────────────────────────────────────────┐
  2.        │       NOTICE!     NOTICE!      NOTICE!       NOTICE!         │
  3.        │                                                              │
  4.        │  IF YOU HAVE A COPY OF VERSION 2.20 OF LZESHELL, PLEASE      │
  5.        │  DISCARD IT IMMEDIATELY.  UNFORTUNATELY, THAT VERSION HAS    │
  6.        │  A DEFECT THAT CAUSES .COM FILES TO BE DESTROYED WHEN YOU    │
  7.        │  RUN THE PROGRAM TO COMPRESS THEM.  THE PROBLEM HAS BEEN     │
  8.        │  CORRECTED WITH THIS VERSION (3.00).  I APOLOGIZE FOR THE    │
  9.        │  ERROR.                                                      │
  10.        │                                   Pete Petrakis              │
  11.        └──────────────────────────────────────────────────────────────┘
  12.  
  13.                                  LZESHELL.EXE
  14.                                  Version 3.00
  15.  
  16.                                  May 5, 1990
  17.  
  18.      ┌───────────────────────────────────────────────────────────────────┐
  19.      │  An English language shell program for automating the use of      │
  20.      │  Fabrice Bellard's EXE file compression utilities:  LZEXE for     │
  21.      │  compressing EXE files; UPACKEXE for unpacking EXE files that     │
  22.      │  have been packed with Microsoft's EXEPACK utility; and COMTOEXE  │
  23.      │  for converting COM files to EXE files so they can be compressed. │
  24.      └───────────────────────────────────────────────────────────────────┘
  25.  
  26.        (This version of LZESHELL is very similar to version 2.10: it
  27.         integrates three of Bellard's file compression utilities and
  28.         can also run Kuo's UNLZEXE to decompress files that have been
  29.         compressed with LZEXE.  The major new feature that has been
  30.         added is checking the attributes of the file to be processed.
  31.         If the file is read-only, its attributes are automatically
  32.         changed so the compression can proceed.)
  33.  
  34.  
  35. AUTHOR:  Pete Petrakis, CIS 76555,1175                         
  36.  
  37.  
  38. DESCRIPTION
  39.  
  40. This program is designed to work only with version 0.91 of LZEXE, a utility
  41. that can compress EXE files substantially while leaving them executable.  The
  42. compressions LZEXE achieves are usually in the range of 30 to 40 percent,
  43. although they are often higher than that.  Programs compressed with LZEXE
  44. decompress themselves when they are run.  The decompression time is negligible.
  45. LZEXE was written by Fabrice Bellard, of Grabels, France and is still under
  46. development.  Versions already released remain free, but Mr. Bellard has
  47. transferred his rights to the program to a commercial software company.
  48.  
  49.   Version 0.91 of LZEXE overcomes version 0.90's problem of excessive load
  50. memory size for compressed files.  The compressed files now take about the same
  51. amount of memory to load as they did before compression.  For this reason my
  52. previous shell program LZEFIX, which ran Microsoft's EXEMOD header utility
  53.  
  54.                                       -1-  to reduce the excessive load sizes created by version 0.90, should not be used
  55. with version 0.91.  It isn't needed.  In fact it could cause problems
  56. (including having to reboot your system) if you try to use it with this newer
  57. version of LZEXE.  Accordingly, LZESHELL makes no adjustment to the headers of
  58. compressed EXE files.
  59.  
  60.   Unlike the previous version of LZEXE, version 0.91 prompts, in French, for
  61. user input, depending on what it finds out about the file you have asked it
  62. to compress.  LZESHELL translates the prompts into English (the translation
  63. is not literal) and feeds your responses to LZEXE.
  64.  
  65.   That's not all it does, however.  LZESHELL version 3.00 automates the use
  66. of three of Bellard's utilities:  LZEXE v0.91, UPACKEXE v1.00; and 
  67. COMTOEXE v1.01.  In addition, it can also run Kuo's UNLZEXE to decompress
  68. files that have been compressed with either version 0.90 or 0.91 of LZEXE.
  69.  
  70.   UPACKEXE unpacks EXE files that have been compressed with Microsoft's
  71. EXEPACK utility so LZEXE can do an even better compression job on them.
  72. COMTOEXE converts .COM files to .EXE files so they can be compressed with
  73. LZEXE.  The previous versions of LZESHELL (1.00 and 1.01) were designed to run
  74. LZEXE and UPACKEXE, but not COMTOEXE; that program had to be run separately.
  75. Version 3.00 runs all three automatically.
  76.  
  77.   Version 0.91 of LZEXE can detect files that have been EXEPACKed.  When it
  78. does, it tells you so and asks whether it should continue the compression or
  79. quit so you can run UPACKEXE first.  In that situation, you would normally end
  80. up running two programs manually.  When you use LZESHELL, however, you don't
  81. have to quit if you want to use UPACKEXE.  LZESHELL translates the prompt into
  82. English, and if your response is that you want to unpack the file before
  83. compressing it, it immediately runs UPACKEXE.  Then it runs LZEXE again
  84. to complete the compression.  In other words, you don't go back to DOS until
  85. both programs have been run.
  86.  
  87.   If you run LZEXE alone and tell it to compress a COM file (using the
  88. command:  LZEXE filename.COM), it won't do it.  Instead it will quit, with
  89. advice to convert the file to an EXE first with COMTOEXE.  Again this
  90. means running two programs manually.  If you use LZESHELL, however, the
  91. conversion of the COM file to an EXE file by COMTOEXE proceeds automatically,
  92. followed automatically by compression of the EXE version by LZEXE.
  93.  
  94.   A point to remember about COMTOEXE is that it doesn't take your word that
  95. the file is a COM file, because EXE files sometimes mistakenly get named
  96. COM (such files will still run).  Instead, COMTOEXE checks the file header
  97. to see what kind of executable file it really is.  If it sees the mark of an
  98. EXE file there, it prints a warning and stops.  When you are running it
  99. through LZESHELL, however, the warning causes the falsely named *.COM file to
  100. be renamed *.EXE, and the compression with LZEXE then proceeds automatically.
  101.  
  102.   In summary, the purpose of LZESHELL is to take control of all of these fine
  103. utilities.  You only need to run one program, LZESHELL, and it runs the others
  104. as needed.
  105.  
  106.  
  107.                                    -2-   Both UPACKEXE and LZEXE save source files as backups, changing their names
  108. to *.OLD.  This can create a problem when you run UPACKEXE then run LZEXE.
  109. The *.OLD backup file saved by UPACKEXE will be replaced by the *.OLD file
  110. saved by LZEXE -- you end up losing the EXEPACKed *.OLD file.  LZESHELL
  111. eliminates this problem by immediately renaming the *.OLD file produced by
  112. UPACKEXE to *.OPK.  This leaves you with two backup files -- one for the
  113. original EXEPACKed file (*.OPK) and one for the unpacked file (*.OLD).  The
  114. third file will be your LZEXE-compressed EXE file.  If the compressed file
  115. works, you can remove both backup files from your disk.  Otherwise, you can
  116. erase the compressed EXE file and rename one of the backups to *.EXE (probably
  117. the EXEPACKed one, *.OPK, since it's the original and it's smaller).
  118.  
  119.   LZESHELL also generates English prompts for another situation that LZEXE
  120. v.0.91 detects, namely the use of overlays by the EXE file.  Here you are
  121. given the choice of aborting the compression or continuing it (taking the
  122. chance that the compressed file won't work).  UPACKEXE v1.00 detects "internal"
  123. overlays (I'm not sure what those are), but in that situation it only issues
  124. a warning and requires no user choices.  LZESHELL translates the warning into
  125. English.
  126.  
  127.   LZESHELL adjusts the timestamp on derivative files so they are the same as
  128. in the original file.  In contrast, LZEXE, UPACKEXE, and COMTOEXE, when run by
  129. themselves, always give the new file the current date, which some people feel
  130. is a shortcoming since it obliterates a useful identifier.
  131.  
  132.   Another feature of LZESHELL is ability to run a new program from Japan
  133. called UNLZEXE, which decompresses files that have been compressed by LZEXE
  134. (v0.90 or v0.91).  Ability to run that program was included for just one
  135. reason: setting the timestamp of the newly decompressed file to what it was
  136. in its compressed form.  If you run UNLZEXE by itself, the new file will
  137. always get the current date and time.  If you run it through LZESHELL, 
  138. however, it gets the same date and time as the source file.
  139.  
  140.   Finally, a new feature has been added to correct a deficiency of previous
  141. versions of LZESHELL, which could not handle read-only executable files.
  142. Version 3.00 routinely checks the attributes of the file it's processing,
  143. and if it finds it is a read-only file it automatically changes it to
  144. read-write and proceeds from there.  Conversion back to read-only at the end
  145. of the process is purposely left out, because you will need to erase the
  146. compressed file if it doesn't work.
  147.  
  148.  
  149. RUNNING THE PROGRAM
  150.  
  151. LZESHELL, LZEXE (v.0.91), UPACKEXE (v1.00), and COMTOEXE (v.1.01), UNLZEXE
  152. (v. 0.20 or 0.30), or their directories, should be on your system's path (use
  153. the DOS PATH command to do this, preferably in an AUTOEXEC.BAT file).  This
  154. will allow you to move freely from directory to directory to compress or
  155. decompress files.  You should always go to the directory of the file you want
  156. to process so your source and derivative files can stay together and receive
  157. the same timestamp as the original.
  158.  
  159.  
  160.                                        -3- Compressing EXE files:
  161.  
  162.   To compress an EXE file, type the following at the DOS prompt:
  163.  
  164.                   LZESHELL [EXE file to be compressed]
  165.  
  166. Use of the .EXE extension is optional.  If you don't use an extension, LZESHELL
  167. will assume it's an EXE file.
  168.  
  169.  
  170. Compressing COM files:
  171.  
  172.   To compress a COM file, type the following at the DOS prompt:
  173.  
  174.                        LZESHELL [filename.COM]
  175.  
  176. Notice that you have to use the .COM extension on the command line if the
  177. file you want to compress is that type.  That extension acts as a flag that
  178. tells LZESHELL that the first thing it must do is run COMTOEXE to convert
  179. the file to an EXE file before compressing it with LZEXE.  If you don't
  180. use the COM extension, you will get a "file not found" error (unless you
  181. happen to have an EXE file with the same first name).
  182.  
  183.   As noted, an EXE file that has been erroneously named *.COM will not be
  184. processed by COMTOEXE alone.  However, the message that COMTOEXE prints in
  185. that situation signals LZESHELL to rename the file to *.EXE, then run LZEXE to
  186. compress it.
  187.  
  188.  
  189. Decompressing EXE files:
  190.  
  191.   To decompress an EXE file that has been compressed with LZEXE, type the
  192. following at the DOS prompt:
  193.  
  194.                       LZESHELL [compressedExefile] /u
  195.  
  196. The /u switch tells LZESHELL to run Kuo's UNLZEXE.  Initally the decompressed
  197. file is named $TmpFil$.EXE and the original compressed file retains its name.
  198. However, LZESHELL renames these files just before quitting.  The original
  199. compressed file gets the extension .OLZ while $TmpFil$.EXE ends up with the
  200. name of the original compressed file.  Both files are given the same date
  201. and time.
  202.  
  203.  
  204. DISPLAYS
  205.  
  206.   Translated warnings and prompts will appear in a box on your screen.  At
  207. the end of the processing a "scorecard" will appear showing you the file
  208. size before and after compression or decompression; the size change in bytes;
  209. and, in the case of compression, the percent reduction.
  210.  
  211.  
  212.  
  213.                                      -4- DISTRIBUTION 
  214.  
  215. LZESHELL may be freely distributed provided it's not modified and no money
  216. is charged for it.  Please be sure this document accompanies it.  Since
  217. LZESHELL is useless without the programs it is designed to work with I urge you
  218. to distribute them, too.  But I ask you not to bundle the programs of separate
  219. authors into a single upload file, however convenient that may seem to you,
  220. and even if they complement each other.  For one thing, it's inconsistent with
  221. good BBS management, creating a cataloguing nightmare for sysops.  Furthermore,
  222. the BBS may already have one or more of the programs in your upload bundle, so
  223. disk space gets wasted.  Most important, the loss of programs' separate file
  224. identities can make it extremely difficult, if not impossible, for their
  225. authors to get earlier and perhaps flawed versions replaced with better ones.
  226.  
  227.  
  228. DISCLAIMER 
  229.  
  230. Pete Petrakis accepts no responsibility or liability for any mishap 
  231. resulting from the use of LZESHELL.  To protect yourself against loss of
  232. valuable files you are advised to keep backups in a safe place or check the
  233. performance of processed files thoroughly before discarding their backups.
  234.  
  235.  
  236. NOTE:  The author of LZEXE recently transferred all rights to the program to
  237. a French software company, which plans to release a commercial version.  This
  238. has no effect on the free versions that Mr. Bellard has already released, but
  239. it does mean that version 0.91 is the last free version of this fine program
  240. that we will see.  Any future revisions of LZESHELL will therefore consist
  241. of improvements to enhance its operation with version 0.91 of LZEXE and its
  242. associated utilities.  These will initially be posted on the IBMSYS forum
  243. of Compuserve.
  244.  
  245.                                         Pete Petrakis
  246.                                         1236 River Bay Road
  247.                                         Annapolis, Maryland 21401
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                                      -5-