home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SDN¹ Plus
/
SDN1_.cdr
/
sdn
/
util1
/
lze_wc21.sdn
/
LZEXE-WC.DOC
< prev
next >
Wrap
Text File
|
1991-09-04
|
37KB
|
828 lines
Usage: LZEXE-WC FileSpec PgmName [options]
Example: LZEXE-WC * All /D
FileSpec: Any Program ending with an .EXE or .COM.
PgmName: Maybe either: UPackExe, ComtoExe, LzExe, LzeShell, or ALL.
Options:
/D Deletes the original programs.
/S:n Process only those files over n bytes in size.
LZEXE-WC ver 2.1F Copyrighted (C) 1990-1991, John H. Gohde,
All Rights Reserved
Page 1 09-04-91
INTRODUCTION
LZEXE is a file packing utility that compresses COM and
EXE program files. Many commercial programs have been
packed for a long time. LZEXE is a public domain packer
that achieves better results than some commercial
products. The packed programs maintain their separate
identity and remain executable. By packing programs you
can realize a substantial space savings of somewhere
between 30 and 60 percent of the original program size.
LZEXE-WC is a FREEWARE program which functions as a
frontend for LZEXE. It forces LZEXE into being user
friendly. LZEXE-WC does what you would have expected
LZEXE to have done in the first place. It makes the
Bellard programs function as one unit.
The approach advocated by LZEXE-WC is to pack all the
existing programs in your current directory by computer
control while skipping over known problem programs and
other small programs. Then as problems are discovered
(ie, the discovery that an executed program does not
work properly), the respective programs are replaced as
needed. The author feels that this concept makes more
sense than to convert and test individually each packed
program, especially when you are talking about several
hundred PD programs and over a MEG of disk space
savings!!!.
Most PD programs are not complicated enough to cause
any conversion problems. So, if you have directories
containing 100's of PD programs, then you will realize
a big time shavings using LZEXE-WC with relatively
little risk. Just imagine how long it would take to
convert just 100 utilities; one at a time!
When new programs are acquired they should be packed
via LZEXE-WC rather than directly with LZEXE. My
program will pickup all the lose ends that LZEXE does
not.
COPYRIGHT NOTICE
Both the software and its documentation are copyrighted
materials. I reserve all rights to these materials
under United States law and international copyright
conventions which are not expressly granted to the
user. No part of this material may be reproduced or
modified in any way without my prior, expressed written
permission.
DISCLAIMER
I EXPRESSLY DISCLAIM ALL WARRANTIES INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF FITNESS FOR A PARTICULAR
PURPOSE AND MERCHANTABILITY. YOU USE BOTH THE SOFTWARE
AND DOCUMENTATION AT YOUR OWN RISK!
Page 2 09-04-91
LICENSE
I grant all users of this software and documentation a
limited license for their own private noncommercial
use. I expressly forbid any user from making any
changes to either the software or documentation or from
profiting from its distribution.
I grant all BBS's and software distributors the right
to distribute this software and to charge a maximum
distribution fee of $5.00.
WARNING
DO NOT USE THIS PRODUCT WITHOUT FIRST BACKING UP YOUR
HARD DISK! A copy of all original programs must be
available so that you may replace those few programs
which the LZEXE program may render nonfunctional. It is
a certainty that a few programs converted by LZEXE will
need to be replaced. Read this entire manual before
attempting to use LZEXE-WC on your hard disk.
It is, further, recommended that your backup copy be in
an executable format (ie, not created with DOS's
BACKUP) or in a ZIP/ARC format where an executable copy
can be selectively uncompressed. Or, you can
alternately not delete the old copies. They will have
an extension of .OLD for .EXE programs and .CO! for
.COM programs. However, this strategy will double your
disk space requirements and would only be practical for
short periods of time.
Using PC Magazines SWEEP utility is NOT recommend. Its
use will result in unpreditable results!
DO NOT RUN LZEXE-WC in any directory containing WINDOW
programs!
BACKGROUND INFORMATION
The intelligence that created LZEXE is truly mind
boggling. It does what appears to be the impossible.
Yet, it also contains some idiosyncrasies that make its
use rather difficult and even undesirable:
(1)No Wild Card capability.
(2)The Newly created files have the wrong Date and
Time Stamps.
(3)The old files are not deleted. Often temporary
work files are also left laying around, too.
(4)Dash embedded program names are not properly
handled by COMTOEXE or earlier versions of LZEXE.
Page 3 09-04-91
(5)Packed files must first be unpacked with
UPACKEXE.
(6)LZEXE and COMTOEXE will make tiny files bigger.
(7).COM programs must first be processed by
COMTOEXE.
(8)The old .COM programs still have the .COM
extension so that the new .EXE version will not
execute until the .COM version is either renamed
or deleted.
These idiosyncrasies of the Bellard programs make
converting an entire Hard Disk a very time consuming
process. Here, is where LZEXE-WC comes to the rescue!
LZEXE-WC will allow you to use Wildcards. You can
convert an entire directory (the current directory) in
one shot. With the /D option you can have the original
files automatically deleted, too. The /S option allows
you to skip programs smaller than your own byte size
specification.
LZEXE-WC works much like XCOPY with the /M parameter.
You can convert your hard disk several times without
any problems. The programs already converted will
simply be rejected from further processing.
This product will not work without the programs written
by other authors. Ce programme a été conçu et réalisé
par Fabrice BELLARD qui a décidé généreusement de le
mettre en FREEWARE.
FILE EXTENSIONS
The safest approach is to not to use the /D parameter.
This will result in always having a good version of
your program in case the newly packed program does not
work! Here is a run down of what the extensions are.
Please not that this is an extension and is contrary to
the extensions created by using the Bellard programs
directly.
.EXE PROGRAMS
.EX! Original packed .EXE program (appears only if
packed)
.OLD unpacked program or original unpacked program
.EXE newly packed format
.COM PROGRAMS
.CO! Original .COM program
.COM Nonconverted original program
.OLD .COM converted to .EXE format
.EXE newly packed format
Page 4 09-04-91
The Bellard programs when used directly use an .OLD
extension. This resulted in certain cases in losing the
original copy of the program. Which is obviously
contrary to the object of keeping a copy of the
original. However, as you can see unless you do use the
/D parameter you could end up with 3 copies of each
program!
DIRECTIONS
Usage: LZEXE-WC FileSpec PgmName [options]
FileSpec:
The file specification should normally be * or *.*.
This code stands for all .COM and .EXE programs. Other
Wildcard combinations are possible provided you specify
an extension of either .COM or .EXE. The usual DOS
specifications hold with the exception that the
Extension is forced to either .EXE or .COM depending on
which PgmName you specify. In addition you may use just
a * which equates to either or both *.COM and *.EXE.
PgmName:
LZEXE-WC works by feeding files to a program of your
choice. The Program name can be either ALL, LZESHELL,
LZEXE, UPACKEXE, or COMTOEXE (second file
specification). Selecting ALL causes LZEXE-WC to
execute UPACKEXE, COMTOEXE, and LZEXE in sequence. And
is the normal option to be used. LZEXE-WC will check
for invalid file specification combinations. The
easiest approach is to simply always use LZEXE-WC * ALL
(This will process everything).
My product will feed program files to UPACKEXE,
COMTOEXE, LZEXE, or LZESHELL. If you specify ALL then
LZEXE-WC program will first run UPACKEXE, then
COMTOEXE, and then finally LZEXE. The output of these
programs may be redirected at the command line with >
or >> (Note, however, that the current version of LZEXE
can not be redirected.)
My program also allows you to use LZESHELL (not
included) which is a popular shell. Also you may
substitute English language versions or functional
equivalents of the programs. However, these
substitutions must be named: UPACKEXE.EXE,
COMTOEXE.EXE, LZEXE.EXE, or LZESHELL.EXE.
Page 5 09-04-91
Remember that LZEXE and LZESHELL will prompt you with
opposite questions. LZEXE will ask you if you want to
stop (in French, of course). You should respond with N
for NON (ie, KEEP GOING) or with O for OUI (ie, YES,
STOP). On the other hand, LZESHELL will ask if you want
to continue. Respond with Y to continue and N to STOP.
In addition, LZESHELL will respond immediately to your
key press (ie, no mistakes allowed!!!) while LZEXE will
wait for you to press [Enter] (ie, you can change your
mind).
These occasional prompts are only relative to one
program file. To exit or to abort LZEXE-WC entirely,
hit Ctrl-Break (the ^C key does not work!).
Using ALL will result in longer processing times but
with fewer operator prompts while using LZESHELL will
require a lot more operator attention. In addition,
LZESHELL does not convert .COM files. So if you plan to
use LZESHELL you should run COMTOEXE, first.
Options:
/D Deletes the original programs. The default keeps the
old files. The program will only delete where a file
was converted. You must use this option if you have
extremely limited disk space.
/S:n Processes only those files over n bytes in size.
The default size is 2048. If you want to convert all
files then you must specify /S:1.
SAMPLE CONFIGURATIONS
LZEXE-WC * ALL
The normal recommended execution setup for my program.
If you have a backup copy of all your program files
then add the /D parameter to delete the old or original
program file. If you do not know what you are doing
then use this setup.
LZEXE-WC * LZEXE
Converts those .EXE files over 2K in size in the
current directory.
LZEXE-WC * COMTOEXE
Converts those .COM files over 2K in size in the
current directory.
Page 6 09-04-91
LZEXE-WC * LZESHELL /D
Converts those .EXE files over 2K in size in the
current directory indirectly via LZESHELL. The old
converted programs are deleted.
LZEXE-WC * LZEXE /S:20480
Converts only those .EXE files in the current directory
that are bigger than 20K.
LZEXE-WC * COMTOEXE /D >LOG
Converts those .COM files over 2K in size in the
current directory and produces a text LOG file of the
COMTOEXE output. The old converted programs are
deleted.
SAFEGUARDS
Using LZEXE is a relatively dangerous process that that
should be undertaken carefully by all users of
LZEXE-WC. For your safety, LZEXE-WC contains several
built in safeguards that makes the use of Wild Cards
with LZEXE practical.
FILE SIZE: Files can be skipped over on the basis of
size. For example, specifying /S:20480 will skip all
files less than 20K in size. Generally speaking, tiny
files might take up more space after being converted
than the original copy (ie, those less than 2K). By
default LZEXE-WC skips over all programs less than 2K
in size.
SKIP LIST -- LZEXE-WC.DAT: You can skip all potential
problem File Names by listing them specifically and
correctly in a text file. This file called:
LZEXE-WC.DAT must be placed in the same directory where
your copy of LZEXE-WC.EXE resides (ex, if you put
Page 7 09-04-91
LZEXE-WC.EXE into C:\UTIL because it is a utility then
the file called LZEXE-WC.DAT must also be put into the
C:\UTIL directory.). It is a REQUIRED FILE! There is no
point in trying to convert programs which are known to
convert badly!
Intelligent use of the SKIP list can make converting an
entire disk relatively safe and automatic. Before,
doing any processing you should build a skip list by
surveying your hard disk. Suggested guidelines for
including files in your skip list are as follows:
(a)Any program that uses Overlays. Clues that
indicate overlay files are many files that use the
same name but with different extensions or files
with the following extensions: .OVL, .OVD, .OVR,
or .OV#.
(b)The Main Program of Each commercial program
costing over $200. These programs usually include
exotic protection schemes in their main program.
(c)Any program which installs options by changing
the program itself such as Turbo Pascal. If you
are happy with their current setup than you might
want to convert them, too. There exclusion is more
a matter of convenience, rather than any safety
factor.
(d)Any program that is too important to take
chances with.
(e)Any known list of problem programs.
(f)Any Windows 3 program. But, it would probably
be easier to simply skip directories containing
Windows programs.
I have provided for skipping a maximum of 1000 files
names. That should be more than enough; since the
attached list only contains a handful of programs to be
avoided.
CURRENT DIRECTORY: My product forces you to process one
directory of files at a time. Generally, the only
programs that do not covert successfully are those
super big commercial programs. These big programs use
Overlays and should be therefore avoided. You can avoid
problems simply by skipping over directories containing
those big commercial programs. Also, those commercial
programs which use exotic copy protection schemes,
Page 8 09-04-91
generally are not converted successfully. However, you
will find in most cases that this problem will only
apply to the main program. For example, while Lotus
1-2-3 can not be converted successfully; both View and
PGraph convert with no problems. You can skip over
these problem programs by including their exact file
name (including extension) in your SKIP file.
INADEQUATE DISK SPACE: LZEXE-WC will refuse to continue
if there is not enough free disk space, equal to the
target file size plus 5K. LZEXE-WC does not bother to
process files on the basis of size. So if it happens to
select a big program to work with first, you could run
out of space with a couple 100K of space available on
your HD.
I/O ERROR TRAPPING: This product will not bomb out on
you because all unexpected I/O errors are trapped with
my own exit routine. This means that the program will
properly exit and in most cases will provide an error
message in plain ENGLISH. For example, defective Hard
Disks will be caught here. (However, I can not vouch
for the LZEXE programs. These programs operate out of
my control.)
COMMAND.COM: My product will ignore COMMAND.COM or any
other command processor provided that it is specified
in your ENVIRONMENT under COMSPEC. Of course you can
list other versions in the SKIP LIST, too.
LOG FILE -- LZEXE-WC.LOG: You can see exactly which
files where processed, etc. via the automatic Log file
recorded by default in the directory LZEXE-WC resides
in. It is appended, so you can see the results of
processing an entire Hard disk, even if you take
several weeks to complete the job. Each entry starts
off with your DOS date and time and will list each file
examined by LZEXE-WC, as well as the outcome of the
selection process.
REQUIRED FORMAT OF LZEXE-WC.DAT:
The required format of the skip file is as follows:
(a)Text file or ASCII format.
(b)First 12 digits are reserved for the file name.
The file name consists only of the name and
extension (No drives or paths). No spaces are
allowed within a file name. The period is
required.
Page 9 09-04-91
(c)Comments are allowed provided at least one
digit of space separates the file name from the
comment.
(d)No leading spaces are allowed. (Hey man you can
not sort text with leading spaces, or didn't you
know that?)
(e)The file MUST be SORTed in ascending order.
This can be achieved by using the DOS SORT utility
as follows:
SORT < LZEXE-WC.BAK > LZEXE-WC.DAT
(f)Only one file name per line.
(g)Blank lines are tolerated.
(h)Maximum of 1000 files names per file.
(i)Place LZEXE-WC.DAT in the same directory on
your hard disk with LZEXE-WC.EXE.
Page 10 09-04-91
HOME OF THE AUTHOR
The author runs a LZE-WC SUPPORT ECHO on the multi-node
RBBS-PC FreeBoard BBS. First time callers can get
support as well as download the lastest version by
calling by data phone at (804) 744-0744.
From the MAIN menu enter J LZE-WC
╔═══════════════════════════════╗
║ The FreeBoard BBS ║
║ DTP WIN3 <HST> FIDO IPE ║
║ Lantastic Support ║
║ (804)744-0744 ║
║ Richmond, Va. ║
╚═══════════════════════════════╝
The FreeBoard BBS is a multi-node RBBS-PC board on the
Fido Net Work with over 400 MEG's of files.
Or the author may be contacted by writing to:
JOHN GOHDE
LZEXE-WC
P O BOX 17581
RICHMOND, VA 23226-7581
If you expect a reply be sure to included a selfed
addressed and stamped business size envelop.
Page 11 09-04-91
TECHNICAL INFORMATION
This section covers general information that applies to
all my programs.
No I am not a member of that ShareWare Organization of
ShareWare Authors. But, so what! My programs speak for
themselves! I also think that makes my program manuals
more readable and user friendly. At least, I do not
stick 20 pages of ShareWare advertisement in front my
manuals!
This program does NOT use what is commonly known as a
graphical or windows interface. While those other
programs are colorful, they also execute more slower
and take up more disk space. This program uses a
command line format which is similar to what DOS's
external programs or other popular ShareWare utilities
use.
My programming philosophy is to first identity an area
that could use a new utility. Second, I write the
MANUAL before coding the first line of code. Then I
knock out a program that addresses my wish list that
was identified during development of the MANUAL.
This program was compiled with Borland's Turbo Pascal
version 6.0. While it does NOT incorporate OOP's
programming, it does use a rather unique set of units
that keep me from redefining the wheel each time I
write a new program. This programming magic is
accomplished because I know how Units initialize. All I
have to do is write a small primary file and define a
few variables in a common unit. All the routine stuff
is already there. This means to the user that my
utility programs are quite uniform both in appearance
and in operation. This assures you that all my utility
programs will give you the same standards of quality
that you have come to expect from me.
Some users frown on anything not written in "C".
Actually, "C" only benefits software developers, not
users. Personally, I prefer the Structured style of
PASCAL over any portability considerations. TP is
simply a real world version of a structured programming
language. Unlike "C" TP's units can self initialize.
Unlike "C" TP has a smart linker that automatically
leaves out both unused code and data. TP contrary to
popular opinion can be fast, too. Profilers are
available to identify bottle necks in TP programs.
Assembly routines can be selectively written to speed
things up. Most "C" developers like to brag about how
small their programs are. What they don't point out and
what they fail to comprehend is how unfriendly and how
unusable their programs really are. Small "C" programs
Page 12 09-04-91
are the ones who are most likely to give you some
strange error number without a clue as to what is
wrong! Sorry, but extremely small programs simply are
not user friendly. While my programs are not tiny
neither do they take up several MEG's of disk space.
In addition, I am a registered commercial user of Eagle
Performance Software. My programs utilize Eagle's
SYSTEM UNIT replacement and their STRING UNIT. The net
effect of this means that this program runs up to 25%
faster than other comparable TP programs. Also, the
registered versions of Eagle's units incorporated in
this program are both smaller and faster than their
ShareWare counter parts. So this means to you that I am
using professionally written assembly language routines
in my programs for that HIGH SPEED effect.
All my programs have been profiled with Borland's Turbo
Profiler. This shows me how long each line of code is
actually taking to execute or where the program is
actually bogging down, time wise. I optimize program
execution by redesigning program logic, adjusting text
buffers, and utilizing assembler coding. This means to
you the user that not only do my programs work, they
also run fast! Profiling is how I can double the speed
of my programs with minimal effort!
All my programs are self-documented! In addition, to
the attached MANUAL.DOC text file, running the program
itself with the help parameter (ie, ? or H ) will
produce additional information on screen.
Most strings in my programs have been encrypted and are
translated with assembler routines. While it is
certainly not impossible to decode my system, I can
guarantee to you that it would be one R-O-Y-A-L P-A-I-N
I-N T-H-E B-U-T-T to do so!!!
The program itself has been packed (with permanent
unpacking disabled). My programs will refuse to operate
if there has been a one byte change in file size. Any
change in my copyright notice will prevent all my
programs from operating. Further, I can prove
authorship. This is called a practical approach to both
protecting my copyright and to detecting file/virus
corruption. Further, all my programs can be scanned for
viruses with the McAfee Associates SCAN 5.1V67, or
above, virus scanner or any scanner capable of reading
packed programs.
I use a proprietary error trapping system. This makes
my programs both user friendly and safe to use. I have
incorporated a background approach that should catch
all possible unplanned, unexpected, and unknown errors.
Page 13 09-04-91
What this means is that all my programs check for
errors before attempting to run. When an error is
found, the actual file specification or Parameter at
fault is found and pointed out with an English
explanation. Second, when an unexpected Run Time, I/O,
and/or Critical Error occurs, the error is intercepted
and the program WILL properly shut down. These features
have been added by me and are not in TP's default
compile mode. This means that my programs will not lock
up your PC! Furthermore, I give you both an error
number and an English explanation of the problem. This
feature makes my programs rather unique.
Error numbers 1 to 99 are the standard DOS errors. Any
unexplained numbers can be looked up in any technical
reference under DOS errors.
Error numbers 100 - 149 are I/O errors which really
means Hardware problems. These are reported by Turbo
Pascals Run-Time Library.
Error numbers 150 - 199 are Critical Errors. These are
caught by DOS. This type of error for example will
produce a message similar to:
<A>bort, <R>etry, <Q>uit
You should select R to attempt to recover. In addition,
you might have to do some other things like turn your
printer on or close a drive door.
Error numbers 200 - 255 are fatal errors which are
reported by Turbo Pascals System Unit.
Error Numbers 500 - 599 are proprietary and catch
invalid file specifications and/or parameters.
Error Numbers 600 - 699 are proprietary and indicate
program tampering or file corruption. If you ever get a
600 series number then you might as well as delete the
program as YOUR copy will not execute (by design)!
And, as if that was not enough my programs offer a
second chance of recovering from run time errors in
certain situations (mostly in file I/O). I check for
pre-existing files. I give you the opportunity to Write
Over or Append to existing files, etc. Other I/O Run
Time Errors will simply halt the program. Sorry, but
next time get the command line right before executing
the program!
Parameters may actually be defined by the user three
different ways. For example, the universal help
parameter maybe defined as /?, -?, or ?. In others
words, no delimiter is necessary. Or, you can use
either / or - as a delimiter.
Page 14 09-04-91
Programs that write TEMPORARY work files check the
ENVIRONMENT for TEMP. If not found it writes temporary
files in your current directory. If you don't know what
I am talking about then don't worry about it. It
concerns only programming style. Hint: To configure any
of my programs to your specifications use a BATCH
(.BAT) file placed on the path.
You can abort execution of my programs in process by
entering Ctrl-Break. You must hit the special
Ctrl-Break key on your keyboard as Ctrl-C will not
work. Whether or not VERIFY is on or off makes no
difference.
My programs can execute .COM, .EXE, and .BAT program
files placed on the path, provided of course you do
have a PATH!
If you want to use APPEND with any of my programs, then
use DOS 3.3 or above and place APPEND /X in your
AUTOEXEC.BAT file. APPEND is how you can locate data
files not in the current directory. WARNING: careless
use of APPEND can will produce negative results. Always
end an APPEND session with APPEND ;.
Each program has three different modes of operation:
Run, Help, and Error. In RUN mode, the program runs as
fast as possible with minimal advertising / help. So to
execute in RUN mode requires the correct use of the
program name and the correct corresponding file
specifications and parameters.
In ERROR mode the program refuses to operated due to an
invalid command line. Normal first time execution
results in the ERROR mode and produces error number 507
Missing FileSpec. This is because as a safety feature
all my programs will refuse to operate without at least
one filespec and/or parameter. The ERROR mode results
in a brief help screen and an English explanation. Plus
the actual coding problem is physically pointed out. No
one can check for all possible errors! But, I do at
least catch the more serious ones.
HELP mode has to be physically requested by the user by
using either /? or /H as a parameter. This produces
additional on screen information for the user. It is
also how I make my programs both fast and user
friendly.
Page 15 09-04-91
UPDATE HISTORY
VERSION 2.1F
This is the first ShareWare Distribution Network release.
In this version I implemented program standard testing
of execution results. The long and the short of it is
that I ran LZEXE-WC through sequential executions of
sixty different and specifically specified command line
parameters, several times in a row. The test results
show that the outcome of each execution was as
expected.
VERSION 2.0F
This is the last local release.
The program was substantially rewritten and uses my
standard utility format. In addition, a few bugs were
corrected and some minor enhancements added which
mainly involved the processing of .COM programs and the
old copies of programs. The number of options available
has been reduced in order to make operation simpler.
VERSION 1.1F
(1)works with either LZEXE version 0.90 or 0.91.
(2)works with LZEXE, LZESHELL, UPACKEXE, or COMTOEXE.
(3)/S Parameter to skip over files on the basis of
size.
(4)/L Parameter to provide for NAMING your Log file.
[removed in ver 2.0F]
(5)/F Parameter to provide for the skipping of files
names. [removed in ver 2.0F]
(6)I/O error trapping exit routine.
(7)Checks for free space before each file is passed for
conversion.
VERSION 1.0F
(1)works with LZEXE version 0.90.
(2)Processes file names containing dashes.
(3)/D Parameter automatically deletes the old files.
(4)Corrects the time and date stamps.