home *** CD-ROM | disk | FTP | other *** search
- ComprEXE v1.0 - EXE/COM compression tool
- Copyright (c) 1997 by Tom Torfs, all rights reserved
-
-
- -= MANUAL =-
-
- 0.1 Table of contents
- -=-=-=-=-=-=-=-=-=-=-
-
- 0.1 Table of contents
-
- 1.1 Overview
-
- 2.1 Commandline usage
-
- 3.1 ComprEXE operation notes
-
- 4.1 Contacting the author
-
- 5.1 Errors, warnings & errorlevels
-
- 6.1 Credits
-
- 7.1 Licence
- 7.2 Disclaimer
-
- 1.1 Overview
- -=-=-=-=-=-=
-
- ComprEXE is an executable compressor. This means that it can make
- most COM and EXE files a whole lot smaller, while keeping them
- executable.
-
- ComprEXE was primarily designed to be used together with ProtEXE.
- It uses a similar command line and error handling method.
-
- 2.1 Commandline usage
- -=-=-=-=-=-=-=-=-=-=-
-
- COMPREXE <oldfile>[.EXE|.COM] [<newfile>[.EXE|.COM]]
- [-o] [-k] [-e] [-h]
-
- * Command line basics *
-
- <oldfile> is the name of the executable to compress. <newfile> is the name
- of the compressed executable. If you omit <newfile>, <oldfile> will be
- replaced and the original file will be stored as <oldfile>.OLD (unless
- you use option -o).
- If no extension is provided, .EXE or .COM is automatically appended.
-
- You can specify multiple options on the command line to customize
- ComprEXE's behaviour. Note that for all options you can use the / switch
- character instead of the - character if you prefer.
-
- An overview of the command line options can be displayed by putting
- the parameter /? (or -?) on the commandline.
-
- * General options *
-
- [-o]
-
- If option -o is given, the original file will be deleted instead of
- renamed to .OLD. Using this option is not recommended.
- This option is ignored if an output file is specified.
-
- [-k]
-
- When the compression fails by default the target file is erased (or
- in case of the one-parameter form, the old file is left unchanged).
- When you specify option -k the file is written anyway.
-
- * EXE-only options *
-
- [-e]
-
- EXE files contain the length of actual code/data in their header.
- Sometimes the EXE file contains data after this, which is not loaded
- when the program is run, but which might be read separately afterwards
- (overlays). This may also be debug info, used by a symbolic debugger
- (such as Turbo Debugger), but not required by the program itself. It
- may also be the 'new executable' part for Windows, OS/2, ... executables.
-
- If option -e is given, any extra data in an EXE-file is simply copied into
- the target file, instead of being stripped off. This doesn't guarantee that
- the extra data is still useful after the compression. If you get the
- 'stripping extra data' warning and the compressed program doesn't work, you
- should try using this option.
-
- [-h]
-
- Option -h disables packing the header. All additional information in the
- EXE header will be copied to the target file.
-
- 3.1 ComprEXE operation notes
- -=-=-=-=-=-=-=-=-=-=-=-=
-
- ComprEXE adds a little decompression module to the program. This module
- moves itself to the top of memory, decompresses the program and performs
- all necessary segment relocations, restores the stack etc., and then jumps
- to the original entry point.
-
- It is generally impossible to use ComprEXE multiple times on a program;
- the compressed program can't be compressed any further.
-
- 4.1 Contacting the author
- -=-=-=-=-=-=-=-=-=-=-=-=-
-
- See the chapter "Contacting the author" in PROTEXE.DOC.
-
- 5.1 Errors, warnings & errorlevels
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- These are the errors and warnings that ComprEXE may give:
-
- ERROR E01: bad option: <option>
- An invalid parameter was passed on the command line or in the configfile.
- A short usage info screen will be displayed. If you need more information,
- check out the chapter "Commandline usage".
-
- ERROR E02: no filename specified on command line
- You didn't specify a source file to compress. The usage info screen
- will be displayed.
-
- ERROR E03: neither COM nor EXE form of source file exists
- The filename you entered as a source file does not exist in either
- COM or EXE form. Correct the error and retry.
-
- ERROR E04: source file not found
- The source file you specified does not exist. Correct the error and
- retry.
-
- ERROR E05: can't rename file
- ComprEXE was unable to rename the source file to extension .OLD or to
- rename the temporary file. This might occur if there was already an
- .OLD file with the read-only attribute on.
-
- ERROR E06: same file specified as source and target file
- You entered the same filename as source and target file, or you tried
- to compress an .OLD file with the one-parameter form. Correct the error
- or rename the .OLD file.
-
- ERROR E07: error opening source file
- ComprEXE was unable to open the source file you specified. Make sure
- this file exists and does not have any special attributes or is not
- currently in use by another process.
-
- ERROR E08: error creating target file
- ComprEXE was unable to create the target file you specified. Make sure
- that no file with that name and any special attributes exists already
- or is currently in use. Make sure the disk is not full, and you're
- not trying to create the targetfile in a full root directory or
- on a read-only medium.
-
- ERROR E09: file is too small to compress (must be at least 4 bytes)
- You tried to compress a program smaller than 4 bytes. No use in
- compressing such a small program.
-
- ERROR E10: COM file is too large to compress
- You tried to compress a COM file that would require more than 64K when
- compressed. In that case you should convert it to an EXE file using the
- included COM2EXE utility. Another possibility is that the file is not a
- valid COM nor a valid EXE file, but some sort of datafile.
-
- ERROR E11: can't compress new executable
- The EXE file is a new executable. Examples of such new executables
- are Windows and OS/2 executables. Also most DOS extenders (protected
- mode programs), e.g. PharLap, DOS/4GW,... will use new executables.
- These executables can't be compressed.
-
- ERROR E12: compression failed
- ComprEXE was unable to compress the file. It may already have been
- compressed and/or encrypted.
- If you wish to keep the 'compressed' file anyway, use option -k.
-
- ERROR E13: error creating temporary file <filename>
- ComprEXE was unable to create a temporary file.
- Make sure the disk is not full or read-only.
-
- ERROR E14: not enough memory
- You don't have enough conventional memory free for ComprEXE to run.
- Remove any TSR's and device drivers you don't need.
-
- WARNING W01: ignoring option <option>
- You specified an EXE only option, but the program isn't an EXE.
- The option will be ignored.
-
- WARNING W02: stripping extra data/overlays
- The source file contained extra data such as debug info or overlays.
- If the program doesn't work after compressing it, try using option
- -e.
-
- WARNING W03: no extra data/overlays found, ignoring -e option
- You specified the -e option but no extra data was found in the EXE file.
- The -e option will be ignored.
-
- WARNING W04: EXE is probably device driver; compression not recommended
- You tried to compress an EXE file which was in fact a device driver
- without using the -d option. Examples of these executables are
- EMM386.EXE, SETVER.EXE etc. This will most likely cause problems.
- NOTE: there is a very small chance that this warning might come up
- erroneously if ComprEXE incorrectly detects the EXE as being a
- device driver; if you're absolutely sure the EXE is not a device
- driver you can safely ignore this warning.
-
- WARNING W05: can't remove file <filename>
- ComprEXE was unable to delete a file (temporary file or the original
- file if -o is used).
- This could be caused by another process accessing the file at the
- same time, special attributes, or unsufficient access rights to delete
- the file.
-
- If an error occurs, ComprEXE will abort with the errorlevel set to
- the corresponding error number.
- Warnings are not fatal and don't cause an abort.
- If no error occurred, ComprEXE will exit with errorlevel 0.
-
- 6.1 Credits
- -=-=-=-=-=-
-
- See the chapter "Credits" in PROTEXE.DOC.
-
- 7.1 Licence
- -=-=-=-=-=-
-
- ComprEXE may freely be used and the executables created with it may
- be distributed without restrictions, for commercial and non-commercial
- purposes.
-
- However, ComprEXE is a part of the ProtEXE package and may only be
- distributed as such. You may not distribute ComprEXE on its own.
-
- 7.2 Disclaimer
- -=-=-=-=-=-=-=
-
- I EXCLUDE ANY AND ALL IMPLIED WARRANTIES, INCLUDING WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. I MAKE NO WARRANTY
- OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS SOFTWARE,
- ITS QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR
- PURPOSE. I SHALL HAVE NO LIABILITY FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
- DAMAGES ARISING OUT OF OR RESULTING FROM THE USE OR MODIFICATION OF THIS
- SOFTWARE.
-
- -= END OF FILE =-
-