PKLITE (R)
The Executable File Compressor
Topic
Page
I.
Introduction to PKLITE . . .
1. PKLITE Overview . . . .
2. System Requirements. . .
3. Technical Support. . . .
4. Registration Information
5. Software License . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
3
4
5
II. Using PKLITE . . . . . . . . . . . . . . . . . . . . .
1. Explanation of the Command Line. . . . . . . . . .
2. PKLITE options . . . . . . . . . . . . . . . . . .
-a Always compress files with internal overlays
-b Make backup .BAK file of original . . . . . .
-e Extra compression method . . . . . . . . . .
-l Display software license screen . . . . . . .
-n Never compress files with overlays. . . . . .
-o Overwrite output file if it exists. . . . . .
-r Remove any extra .EXE data. . . . . . . . . .
-u Update file time/date to current time/date. .
-x Expand a compressed file. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 6
. . 6
. 10
. 10
. 11
. 12
. 12
. 13
. 14
. 15
. 16
. 17
III. Programs That Should Not Be Compressed. . . . . . . . . . .
19
IV.
21
PKLITE Error Messages . . . . . . . . . . . . . . . . . . .
1
I. INTRODUCTION TO PKLITE
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
This section contains an introduction to the PKLITE data
compression software.
1. PKLITE OVERVIEW
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
PKLITE is an easy to use file compression program. It increases
your valuable disk space by compressing executable files (with
.EXE and .COM extensions). PKLITE will compress these executable
files so they will require much less disk space yet will still
run normally.
PKLITE compresses your files much like PKZIP, but it adds a small
amount of extraction code at the beginning of the executable
file. When you run an application that has been compressed with
PKLITE, the program will automatically be expanded into memory
and run. The compressing process does not change the operation
of the program at all, it merely reduces the disk space required
to store it. No additional memory is needed to run most programs
compressed with PKLITE.
PKLITE also has the ability to expand your files back to their
original size.
2
2. SYSTEM REQUIREMENTS
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
PKLITE will run on any IBM PC or compatible with DOS 2.0 or
higher. Running a program that has been compressed with PKLITE
requires a maximum of 4K extra memory overhead to expand the
application in memory. Memory available to the application
remains the same as before it was compressed.
3. TECHNICAL SUPPORT
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
If you have any questions regarding PKLITE or any of the other
PKWARE programs, please call our technical support staff for
assistance. Our office hours are Monday through Friday, 9:00am
to 5:00pm central time. You can also leave a message on our
24-hour PKWARE Support BBS, or mail your comments and questions
to the PKWARE office. The PKWARE address and telephone numbers
are listed below.
PKWARE, Inc.
9025 North Deerwood Drive
Brown Deer, WI 53223
Voice (9am to 5pm CT):
Fax:
(414) 354-8699
(414) 354-8559
PKWARE Support BBS (Available 24 hours): (414) 354-8670
PKWARE on CompuServe 75300,730
PKWARE also monitors support conferences on Relaynet, ILink
and SmartNet
3
4. REGISTRATION INFORMATION
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
If you find PKLITE fast, easy, and convenient to use, you are
strongly encouraged to register. As a registered user, you will
receive a diskette with the current version of PKLITE and a printed
manual for the software. You will also receive, when available,
one free upgrade of PKLITE.
Please state the version number of the software you are presently
using. For registration information, including price
information, contact PKWARE at the following location:
PKWARE, Inc.
9025 North Deerwood Drive
Brown Deer, WI 53223
(414) 354-8699
(414) 354-8559
(414) 354-8670
Voice
Fax
BBS
4
5. SOFTWARE LICENSE
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
The software license agreement is shown below.
PKLITE (R) Reg. U.S. Pat. and Tm. Off. Executable File Compressor
Copr. 1990-1995 PKWARE Inc. All Rights Reserved. Patent No.
5,051,745
You are free to use, copy and distribute PKLITE for noncommercial
use IF:
- No fee is charged for use, copying or distribution.
- It is not modified in any way.
Usage of the software to create compressed executables for
commercial software requires registration of the PKLITE
Professional (tm) package for $146. This version includes an
extra compression option so that compressed executables cannot be
uncompressed by PKLITE.
PKWARE hereby disclaims all warranties relating to this
software, whether express or implied, including without
limitation any implied warranties of merchantability or fitness
for a particular purpose. PKWARE will not be liable for any
special, incidental, consequential, indirect or similar damages
due to loss of data or any other reason, even if PKWARE or an
agent of PKWARE has been advised of the possibility of such
damages. In no event shall PKWARE's liability for any damages
ever exceed the price paid for the license to use software,
regardless of the form of the claim. The person using the
software bears all risk as to the quality and performance of the
software.
If you use PKLITE on a regular basis you are strongly encouraged to
register it. With a registration of US $46.00 you will receive a
printed manual, the latest version of PKLITE, and when available,
the next version of the software. Please state the version of
the software that you currently have.
5
II. USING PKLITE
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
This section describes the command line structure of PKLITE and
explains the options.
1. EXPLANATION OF THE COMMAND LINE
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
PKLITE is an easy to use file compression program. All of the
commands used with PKLITE are entered on the command line at the
DOS prompt. The command options used with PKLITE are explained
in detail in the following section, along with examples.
The PKLITE command line structure is shown below.
PKLITE
[options] [d:][path] Infile
[[d:][path] Outfile]
PKLITE = The PKWARE executable compression program.
options = The different PKLITE options that you can specify.
[d:] [path] Infile = The name and path location of the
executable file being compressed (or expanded),
also know as the source file.
[d:] [path] Outfile = The name and path location of the
destination file you want to rename or to
relocate the compressed or expanded file.
NOTE:
Parameters listed in [ ] are optional.
6
EXAMPLES:
A simple example is shown below.
C:\DOS> PKLITE
attrib.exe
In this example the file attrib.exe will be compressed and the
compressed version of the file will overwrite the original
version. After you type the command shown above, PKLITE will
display the following information on the screen.
PKLITE (R) Reg. U.S. Pat. and Tm. Off. Executable File Compressor
Copr. 1990-1995 PKWARE Inc. All Rights Reserved. Patent No.
5,051,745
Compressing: attrib.exe
Original Size: 10656 Compressed Size: 6790
Ratio: 36.3
After a file is compressed with PKLITE, it will display several
pieces of important information. PKLITE will list the name of
the original file, original size of the file, the compressed
size, and the compression ratio. The output filename and
location will also be listed if they are different than the
original filename and location. An example is shown below.
The following example illustrates the use of an output file to
change the name and location of the file after it is compressed.
C:\> PKLITE
light.exe
A:smlight.exe
PKLITE (R) Reg. U.S. Pat. and Tm. Off. Executable File Compressor
Copr. 1990-1995 PKWARE Inc. All Rights Reserved. Patent No.
5,051,745
Compressing: LIGHT.EXE into file A:SMLIGHT.EXE
Original Size: 18466
Compressed Size: 12299
Ratio: 33.4
7
Listed below is a summary of important facts to keep in mind
while using PKLITE.
-The commands can be typed using either upper case or lower case.
-All command options for the software must be preceded by a '-'
character or the MS-DOS switch character (usually '/').
-Options can be combined (i.e. "-o -b" or "-ob").
-If no extension for the source file is specified, PKLITE will
automatically compress any files with that particular name and a
.EXE or .COM extension.
-If no destination file is listed on the command line, the
compressed file will have the same name as the source file and
will be located in the same directory (i.e. it will overwrite
the source file).
-Typing PKLITE on the command line with no options, will bring up
a help screen listing all the program options.
CAUTION
It is very important that you do not use PKLITE on original
program diskettes. You should always make a copy of the
original diskettes that are supplied with an application,
and work only from the copies. All original diskettes
should be kept in safe place.
8
The following table lists all the options available with PKLITE.
A brief summary is also given in the table. The options are
explained in detail, along with programming examples in the
following section.
PKLITE COMMAND OPTIONS
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Option
Summary
-a
Always compress files with internal overlays
and optimize relocations.
-b
Make backup .BAK file of original.
-e
Extra compression method. (Commercial Version)
-l
Display software license screen.
-n
Never compress files with overlays or optimize
relocations.
-o
Overwrite output file if it exists.
-r
Remove extra .EXE data.
-u
Update file time/date to current time/date.
-x
Expand a compressed file.
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
9
2. PKLITE OPTIONS
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
The PKLITE options are described below.
-a
Always Compress Files With Internal Overlays and Optimize
Relocations
This option is used to tell PKLITE to always compress files even
though they use internal overlays. Programs which use overlays
loaded from .EXE files, may not run normally when in compressed
form. PKLITE will detect if a program file contains internal
overlays. It will prompt you for confirmation before it
compresses any files with overlays if you do not use the -a
option.
This option will also tell PKLITE to always optimize headers.
PKLITE tests the relocation table to see if it can be optimized
for better compression. This performs the same operation as
running HDROPT before PKLITE.
C:\> PKLITE
-a
*.EXE
In the example shown above, PKLITE will compress all of the .EXE
files in the current directory even if internal overlays are
detected. You will not be prompted for confirmation before any
files are compressed. The files will overwrite the original
files since there is no destination directory specified.
NOTE: Overlay data is not compressed by PKLITE, however the load
image data located before the overlay data is compressed. Some
programs require that the overlay data in the .EXE file be
located at a specified point in the .EXE file. These programs
will not run correctly when compressed with PKLITE. Programs
that do not run correctly can be returned to their original state
with the -x option.
10
-b
Make Backup .BAK File of Original
This option will create a backup file of the original
uncompressed file with a .BAK extension. The file will be
located in the same directory as the original file.
If you use the -b option when a file with the same name as the
source file and a .BAK extension already exists at the
destination, it will be overwritten.
If an output file is specified with the -b option, the -b option
will be ignored.
C:\GAMES> PKLITE
-b
GAME.EXE
In the example shown above, the program GAME.EXE will be
compressed, and a backup of the original file called GAME.BAK
will be created and located in the GAMES directory.
You can also retain the original file in its uncompressed state
by specifying a destination file on the command line by using the
[[d:][path] Outfile] option. By using this feature, you rename
the compressed file and retain the source file in its original
form.
C:\PK> PKLITE
PROG.COM
PROGCMP.COM
In this example, the file PROG.COM will be compressed and the
compressed version of the file will be named PROGCMP.COM. By
renaming the file, the uncompressed version of the file
(PROG.COM) will be retained in its original form.
11
-e
Use Extra Compression Method
(* Option available only in PKLITE Professional version *)
This option is used to produce the smallest executable files. It
uses a slightly different algorithm, which also scrambles the
executable file. This scrambling makes the executable data more
resistant to disassembly or "reverse engineering" procedures.
After a file is compressed using this method, it cannot be
expanded to match the original executable file. If you attempt
to expand it using the -x option, PKLITE will return a message
stating the file cannot be expanded. This option is ideal for
software developers who wish to distribute their programs in
compressed form.
C:\DATA> PKLITE
-e
TEST.EXE
A:
In the example shown above, PKLITE will use the extra compression
method to compress TEST.EXE. The compressed file will be located
on the A: drive.
-l
Display software license screen
This option is used to display the PKLITE software license
agreement. It is also printed on page 5 of this manual. To
display the license agreement, type the following on the command
line.
C:\> PKLITE
-l
12
-n
Never Compress Files With Overlays or Optimize Relocation Table
This option is used to tell PKLITE to never compress files that
use overlays. Programs which use overlays loaded from .EXE
files, may not run normally when in compressed form. PKLITE will
detect when a program file contains overlays and will
automatically skip it. If you do not use this feature, PKLITE
will prompt you for confirmation before compressing any files
with overlays.
C:\DATA> PKLITE
-n
*.EXE
C:\DATA\COMP
In the example shown above, PKLITE will compress all of the .EXE
files in the DATA directory as long as they do not use overlays.
The compressed files will be placed in the C:\DATA\COMP
destination directory.
13
-o
Overwrite Output File if it Exists
This option is used when you specify a destination file (output
file) on the command line. If a file with the same name as the
output file that you have specified already exists at the
destination, it will automatically be overwritten when you use
this command. If you do not use this option, PKLITE will prompt
you for confirmation before it overwriting any existing output
file.
C:\PKWARE> PKLITE
-o
PROG.EXE
A:\TINYPROG.EXE
In the example shown above, PKLITE will compress PROG.EXE and
will locate the compressed version of the program on the A:
drive. The compressed version of the program will be named
TINYPROG.EXE. If a file called TINYPROG.EXE already exists on
the A: drive, it will automatically be overwritten.
NOTE: The -o option is only necessary if a output file is
specified.
14
-r
Remove Extra .EXE Data
This option will compress a file and discard any data appended
after the load image data. This data could be setup information,
overlay data, or debugging information.
The -r option should be used only when you are sure there is
extra data in the file located after the load image data. Only
use this option if you know you will no longer need this extra
data. It may delete overlay or other important data.
C:\NET>
PKLITE
-r
*.EXE
This example will compress all of the files in the C:\NET
directory that have a .EXE extension. It will also discard any
data appended to the files.
CAUTION
This option should be used with caution.
operation of the files being compressed.
It can endanger the
THE EXTRA DATA CANNOT BE RESTORED WITH THE -X.
15
-u
Update File Time/Date to Current Time/Date
This
that
time
date
option will assign the current time and date to the file
you are compressing. If you do not use this option, the
and date of the compressed file will be set to the time and
of the original file by default.
C:\PKWARE> PKLITE
-u
FILE.COM
B:
In the example shown above, the program FILE.COM will be
compressed and the compressed version of the program will be
located on the B: drive. The compressed file will retain the
same name (FILE.COM) as the original file. However, the time and
date will be updated to the current time and date at the time the
file was compressed.
16
-x
Expand a Compressed File
This option will expand any files you have compressed with
PKLITE. When you use this option, the file will be returned to
its original size. You can rename and/or relocate a file when
you expand it by using the [[d:][path] Outfile] option on the
command line.
C:\> PKLITE
-x
FILE.EXE
A:
In the example shown above, the compressed file FILE.EXE will be
expanded and the expanded file will be located on the A: drive.
After a compressed file is expanded, PKLITE will display several
important facts. PKLITE will list the name of the compressed
file, original (compressed) size of the file, and the expanded
size of the file. The output file and location will also be
listed if appropriate. An example is shown below.
C:\> PKLITE
-x FILE1.EXE
FILE2
Expanding: FILE1.EXE into file FILE2.EXE
Original Size: 12299
Expanded Size: 18466
NOTE:
-b
-o
-u
The expand option can be used with the following options:
Create Backup file
Overwrite option
Update time/date
17
When the -x option is used with the -b option, a backup of the
compressed version of the file will be created with a .BAK
extension.
When the -x option is used with the -o option, PKLITE will
overwrite any same-named files without prompting you for
confirmation.
You can also use the -x option along with the -u Update option to
update to the current time and date when expanding a file. (If
you used the -u Update time/date option when you compressed the
program, then when you expand it, it will retain the new time and
date. The time/date does not return to the original value.)
18
III. PROGRAMS THAT SHOULD NOT BE COMPRESSED
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
PKLITE can compress most executable files. However, there are
some applications that cannot be compressed, or do not run
correctly when compressed. The following is a sample list of
such programs.
COMMAND.COM
MS DOS Command interpreter and shell.
This program has a self-contained loader. It will
attempt to load data which is compressed and fail.
CV.EXE
Microsoft Codeview debugging program.
When run in compressed form, the program returns:
Invalid format in CV.EXE.
The program does a run time check on the .EXE file, and
in compressed form the error is reported. PKLITE
cannot detect this and compresses the file without any
warnings.
C2.EXE
Part of Microsoft C 6.00 compiler.
When run in compressed form it reports:
Overlay not found.
This is an example of a program with internal overlays
where the overlay manager works incorrectly with the
compressed .EXE file. When compressing with PKLITE,
the overlay data will be detected and the user will be
prompted as to whether this file should be compressed.
FOXPRO.EXE
FoxPro 1.00 - 1.02 Database program.
This program contains internal overlays.
run correctly when in compressed form.
It will not
19
PIFEDIT.EXE
Microsoft Windows PIF editing program.
PKLITE cannot compress any Microsoft Windows executable
files. PKLITE detects whether the file being
compressed is a Windows application, and will not
attempt to compress it.
MAKEINI.EXE
OS/2 program.
PKLITE cannot compress any OS/2 executable files.
PKLITE detects whether the file being compressed is an
OS/2 application, and will not attempt to compress it.
Programs that modify the executable file.
Programs that modify the load image data in a
executable file will not work correctly in the
compressed state. Many programs have setup programs
that modify the executable file itself. An example of
this would be the PUTAV program in PKZIP version 1.10.
If run on a compressed version of PKZIP, the message
"Error in: PKZIP.EXE" will be displayed. The PKZIP
program should be expanded to its original size with
the -x option before running PUTAV. After installing
the AV, PKZIP may be recompressed.
Programs that modify the extra overlay data or data
stored at the end of the .EXE file may run correctly in
compressed form, since only the load image data is
compressed by PKLITE. StupenDOS version 2.0 is an
example of such a program. Setup information is
appended to the .EXE file. Therefore, saving the setup
works correctly with StupenDOS even when in compressed
form.
20
IV. PKLITE ERROR MESSAGES
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
The following error messages may appear when using PKLITE. A
brief explanation of each message along with possible solutions
is listed below. The DOS errorlevel value returned with each
error is also listed.
1
Syntax Error
This error appears when the PKLITE command line you have
entered contains a syntax error. When this occurs, PKLITE
will print the help screen showing all the program options
on the monitor.
2
File extension must be EXE or COM
The file you have attempted to compress does not have a .EXE
or .COM extension. If the file is in fact an executable
file, you can rename the file with a .EXE or .COM extension
and then compress it.
3
Cannot open input file
The file you have attempted to compress cannot be opened by
PKLITE. Either a disk error occurred, or the file is locked
by another application. You must make sure it is a true
executable file.
4
Could not open output file
PKLITE could not create the output file. Either a disk
error has occurred, or the file is locked by another
application. If you have specified an output file, make
sure it is a valid filename and location.
21
5
Write error
An error has occurred in writing a file to disk. PKLITE is
not able to write to a necessary file. Either a disk error
has occurred, or the file is locked by another application.
6
Disk full error
There is not enough disk space available on the destination
drive for the file being created. PKLITE never deletes the
original file until it is finished writing the compressed
file, therefore, there must be enough free disk space for
the compressed file and the original file. Try to free up
more disk space.
7
Read error
PKLITE is not able to read a specified file.
file; it may be corrupted.
8
Check the
Create error
The named file could not be created. Check the output
directory; it may be invalid or full.
9
Memory error
There is insufficient memory available to process the
command. Try making more memory available. PKLITE requires
a minimum of 85K memory.
10
Cannot compress file into itself
The file being compressed and the output file are the same.
When specifying an output file, make sure the output file is
not the same as the input file.
Incorrect: PKLITE
pat.exe pat
Correct:
PKLITE
pat.exe
22
11
EXE header error
The header information of the file contains too much
information to be compressed. If memory is limited,
increasing the amount of memory available to PKLITE may
help.
12
No extract code error
You are attempting to expand a file (with -x) but the
extract code is corrupted or missing. Make sure the file
has been compressed with PKLITE.
13
Data error
An error has been detected in the compressed data.
is corrupted.
14
The file
Compressing many files into one file error
You are attempting to compress multiple files into one
output file. For example: PKLITE *.exe file.exe.
Correct the command line.
15
Output wildcards error
The output path/file cannot contain any wildcard characters
('*' or '?'). Correct the command line.
MS-DOS, Codeview, C Optimizing Compiler, FoxPro, Windows and OS/2
are trademarks or registered trademarks of Microsoft Corp.
PKZIP, PKUNZIP are registered trademarks of PKWARE, Inc.
23