home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-15 | 45.8 KB | 1,073 lines |
-
-
-
-
-
-
-
-
-
-
- COMPACK 4.5
- DOD Program Compaction Software
-
- USER MANUAL
-
-
- CONTENTS
- ________
- Page
- Installation...........................................1
- Distribution...........................................1
- Getting Started........................................1
- Rationale..............................................2
- How COMPACK works......................................3
- Real Time Environment..................................3
- Some typical compression statistics....................4
- COMPACK Syntax.........................................4
- Command Line Options...................................5
- Examples...............................................6
- Hardware and Software Requirements.....................6
- COMPACK Error Messages.................................6
- COMPACK Warning Messages...............................7
- Optimising COMPACK.....................................7
- Compacting BIOS Files..................................8
- Problem Cases..........................................8
- Known Anomalies........................................9
- Answers to some common questions about COMPACK.........10
- COM2EXE - Multi-Segment COM to EXE Converter...........12
- COM2EXE Syntax.........................................12
- Example Use............................................12
- BUILDSFX - Self Extracting Program Creator.............13
- BUILDSFX Syntax........................................13
- Example Use............................................13
- Execution of the SFX...................................14
- Using SFX programs on Single Diskette Systems..........14
- Minimising SFX Disk Size...............................14
- Sample Commercial Use Licence..........................15
-
-
- INSTALLATION
- ____________
-
- COMPACK is supplied as a self extracting file (created by our
- utility program BUILDSFX). To install the software select a
- suitable directory as the default and execute the program
- CPK45.EXE. This will automatically create all the files in the
- current directory (overwriting any files with the same name). (If
- you wish to extract files on a one diskette drive system, you may
- change diskettes after the opening prompt). Be sure to read the
- file README.
- 14 November 1991
-
-
- Prominence Computer Services Ltd.
- Strada Sottopiazzo 18, 14056 Boglietto di Costigliole (AT),
- Italy.
- Fax. +39 (11) 9574117
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 2
-
-
- DISTRIBUTION
- ____________
-
- COMPACK and BUILDSFX are the copyrighted property of Prominence
- Computer Services Ltd., and are distributed as Shareware. As
- such, you are free to use and copy the software for non
- commercial purposes. The software may not be modified. If you
- find the programs generated are small and fast, then a
- contribution of US $25 would be appreciated. If you send $40 or
- more you become a registered user and will be sent the latest
- version of COMPACK with printed manual.
-
- If you use COMPACK or COMPACKted programs in a commercial
- environment or government institution registration is obligatory.
- Commercial distribution of COMPACKted programs requires a written
- agreement (not required for compaction of public domain software
- or shareware so long as credits are given in the documentation or
- program). Commercial users wishing to distribute programs
- compressed by COMPACK or BUILDSFX should contact Prominence
- Computer Services Ltd. for further details. A sample agreement
- is appended to this manual.
-
- In Italy COMPACK is available from Polimatica SRL, Corso Francia
- 233 A, 10098 Cascine Vica, Rivoli (TO). Tel 011-9597222 (3
- lines). FAX +39 (11) 9574117.
-
-
- GETTING STARTED
- _______________
-
- COMPACK transforms your DOS programs, both EXE and COM files, to
- load faster and take up less space on disk! You don't need to
- read this manual to start using COMPACK. Like all good software,
- COMPACK comes with help already built in. Just enter "COMPACK"
- at the DOS prompt for a summary of the syntax and available
- options. The rest of this manual is really only for reference.
-
-
- RATIONALE
- _________
-
- Hard disk are always too small, modem bills too high, and network
- response time too slow. The classic solution to these problems
- has been to compress the data prior to transmission or backup.
- There are a number of archive utilities to compress files into
- "LBR, "ZOO", "ZIP", "ARC", "PAK", "LZH" and similar incompatible
- formats.
-
- These utilities work fine when the objective is archiving. But
- access to data, (ie running a program) requires an additional
- decompression utility and this adds delay and complexity. In
- order to hide this complexity many software distributors are
- obliged to create bulky installation procedures, somewhat
- counter-productive when the aim is to reduce media costs. In
- fact most archive expanders are not suitable for software
- distribution. Firstly the expansion program itself takes up tens
- of thousands of bytes of overhead. Secondly file compression is
- compromised by the need to maintain the archive updatable.
- Neither of these "features" is of any use to the poor computer
- user who simply wants to use his software with the minimum of
- expense and delay.
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 3
-
-
- COMPACK therefore is not an archiving program. It is a utility
- which simply compresses DOS programs. The compressed programs
- will run the same as before without the use of any extra software
- or hardware. This is an important advantage because it means
- that compressed software is portable. There is no risk that a
- program will not run because an essential utility is not
- available. Unlike other software, the expansion code does not
- disable interrupts for extensive periods (less than 10uS) and
- consequently compacted programs work correctly even in a real
- time environment (such as a network). Furthermore no messages
- are embedded in the code so foreign language programs can be
- compressed without problems.
-
- With few exceptions COMPACK will compress programs smaller than
- the very best archive utilities. As for speed, COMPACKted
- programs actually load faster! COMPACKted programs running on
- floppy disk, CD-ROM, or over networks will typically respond in
- half the time of their bulky predecessors. At the other extreme,
- on a fast RAM disk, there may be a small additional delay
- (perhaps up to a few tenths of a second). Of course such delay
- is barely perceptible and is compensated by the ability to fit
- even more data in the RAM disk.
-
-
- HOW COMPACK WORKS
- _________________
-
- In simple terms, COMPACK compresses the input program and
- sandwiches the result between header and trailer code. Under DOS
- 3.X and later the input file is opened DENY_WRITE preventing any
- other process (including COMPACK itself or other network users)
- from overwriting. Note that your operating system may not offer
- this protection unless SHARE is loaded.
-
- The extra header and trailer code amounts to just a few hundred
- bytes and is responsible for recreating the exact image of the
- uncompressed program and passing control to it. The code to
- expand COM files is smaller and faster than the code to expand
- EXE files. The compression algorithm is based on Lempel Ziv's
- first proposal, a sliding window algorithm. (This algorithm is
- quite distinct from their second proposal, also known as the
- Lempel Ziv Welch algorithm.)
-
- COMPACK replaces repeated byte strings by shorter references to
- previous identical strings. This is called substitutional
- compression (as opposed to statistical compression). There is
- nothing very original in this, almost all modern software or
- hardware compressors in the past few years have used a variation
- on this basic method. Common variations include a second phase
- of statistical compression whereby frequent references are
- encoded in fewer bits than less frequent ones. Statistical
- compressors have been applied successfully, for example, in the
- Huffman encoding of LZH archives (hence the name) and Shannon
- Fano encoding of ZIP archives.
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 4
-
-
- Combined with the prior phase of Lempel Ziv substitutional
- compression, these techniques achieve excellent compression but
- are not suitable for compressing programs for several reasons.
- Firstly the expansion algorithms are relatively complex, adding a
- significant amount of overhead. Secondly the algorithms tend to
- be slow. Thirdly memory requirements tend to be high, and there
- simply may not be sufficient room in memory for both tables and a
- large program simultaneously. It would certainly be a pity if
- large programs, which have the most to gain from compression,
- could not be expanded again!
-
- COMPACK manages to avoid these disadvantages whilst actually
- achieving even greater compression. There is no second phase of
- statistical compression. Memory requirements are minimised
- because there are no tables. The simplified expansion code takes
- up just a few hundred bytes adding very little overhead to the
- COMPACKted program. Simplicity implies speed: the expansion
- code executes between 3 and 20 times faster than similar archive
- utilities. Disadvantages? Well, to achieve the superior
- compression COMPACK analyses the program to be compressed in very
- considerable detail, and this takes time. We feel it is worth
- investing this time once and recouping the speed and space
- savings whenever the program is run.
-
-
- Real Time Environment
-
- Many PC applications are finding their way into networks, multi-
- tasking platforms and real time applications. In these
- environments a program which disables interrupts for a
- significant amount of time is considered ill behaved. For
- example, disabling interrupts could cause a resident
- communication program to lose a character, (and probably the
- entire packet). If you are already having problems of this kind
- with programs compressed by other utilities, COMPACK may be the
- answer. COMPACKted programs have no additional interrupt
- latency.
-
-
- Some typical compression statistics using COMPACK 4.5
- _____________________________________________________
-
- Original Compacted Reduction
- Size Size %
-
- CYCLONE.COM 5632 3644 35
- COPYWRIT.COM 34784 17534 50
- TCC.EXE 179917 85292 52
- TC.EXE 290249 156876 46
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 5
-
-
- COMPACK - COM and EXE File Compacter program
- ____________________________________________
-
- SYNTAX
- ______
-
- COMPACK \path\program.in \path\program.out [msg] [-options]
-
- Note that the filename must be unambiguous (no '*' nor '?'). The
- third parameter is an optional message which is appended,
- uncompressed, to the output program. This might be used to
- include a serial number and or copyright notice. Copyright
- notices embedded in the program code will of course be
- compressed, and therefore may not be visible unless displayed by
- the program.
-
- Command Line Options
- ____________________
-
- Options always begin with the "-" character and may occur in any
- order, even mixed up with the other arguments. The following
- letter may be in either upper or lower case.
-
-
- -r Allows program compaction to continue even if the space
- saving is not significant. Normally COMPACK aborts
- compaction if it cannot save at least 1024 bytes. This
- option can be useful where real objective is to make
- unauthorised disassembly or modification of the program
- difficult rather than compression. In addition this option
- retains the output program even if it contains excess debug
- information. Use this option with care. It is possible
- that the COMPACKted program will not work.
-
- -o Displays the order form on the screen. (Print with
- PrintScrn key).
-
- -i Causes COMPACK to abort compaction if it can identify a
- possible optimisation of the input program. See section on
- Optimising COMPACK.
-
- -g Speeds up compression (by about 50%) at the expense of
- program size (about 1% larger).
-
- -h Most linkers produce EXE headers which are a multiple of 512
- bytes so there may be considerable unused space. Using the
- "-h" option normal EXE program compression is bypassed and
- COMPACK simply attempts to reduce the header to a smaller
- multiple of 16 bytes. This is a useful technique for EXE
- style device drivers or for very small EXE files.
-
- -v This option specifies that the input program has already
- been COMPACKted with the current version of COMPACK and
- allows complete recreation of COM programs and partial
- recreation of EXE files. This option is designed to allow
- virus scanning and similar programs to check COMPACKted
- programs. EXE programs expanded in this way will be non-
- functional (having no program header nor relocation
- information). This non functionality is deliberate, as we
- do not wish to encourage unauthorised modification of
- commercial software.
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 6
-
-
-
-
- Examples
- ________
-
- COMPACK bigprog.exe -g fastprog.exe
- for %q in (*.com) do COMPACK %q d:%q -r
- for %q in (*.exe) do COMPACK %q d:%q "Copyright (c) Fox 1991"
-
- Hardware and Software Requirements (Version 4.5)
- ________________________________________________
-
- COMPACK.EXE program.com program.exe
-
- Free Memory 256 k Bytes 65k Bytes Program + 16k
- DOS 2.0 or later Any Any
- CPU 8088 8088 8088
-
-
- COMPACK Error Messages
- ______________________
-
- Exit
- Code
-
- Insufficient memory 3
- Error writing output program 3
- EXE header too large at XXXX bytes 3
- Unsuitable Overlay file 3
- Unsuitable HIGH loading EXE file 3
- Cannot open FILENAME 3
- Insufficient Saving. Program not compacted. 3
- COM file > 64k Bytes 3
- EXE program contains excess debug info or overlays. 3
- Invalid EXE header. Relocation overlap. 3
- Input and output filenames must be different 3
- COMMAND.COM should not be COMPACKted 3
- Invalid EXE header. Actual length less than Reported 3
-
- All the above error messages are fatal, causing the immediate
- termination of the program.
-
- Note the error message regarding excess debug information. This
- condition is noted when the DOS file size is significantly longer
- than the file size registered in the EXE file header. It is
- possible that the excess information is an overlay or other
- essential information which is read from disk at execution time.
- This condition is considered a warning if the "r" (retain) option
- is specified. Naturally such programs may not function correctly
- when compacted so testing is essential.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 7
-
-
- COMPACK Warning Messages
- ________________________
-
- Warning: Multi-segment COM file.
- Warning: File may have been already compressed with EXEPACK.
- Warning: It may be possible to convert file to COM format.
- Warning: No significant saving - new program created anyway.
- Warning: Already COMPACKted.
- Warning: Probable Device Driver.
-
-
- Warning messages are purely informatory and point out some format
- of the source program file which deserves attention. For
- example, the possibility of using COM2EXE to convert multi-
- segment COM files back into the original EXE format. Similarly
- other utilities may strip off debug information. These are
- usually included with the compiler or operating system. In all
- cases even greater execution speed and smaller programs should be
- possible. In the next section we will see how to transform these
- programs into a more simple and suitable format for compression.
-
-
- Optimising COMPACK
- ___________________
-
- COMPACK obtains best results when it compresses a program in its
- most simple format. By using the -i command line option COMPACK
- attempts identify what kind of program is being compressed and
- returns with a DOS error code. This can be used by a batch
- program to simplify the program (possibly expanding it) prior to
- re-compacting it again with COMPACK.
-
-
- Exit Code Program Type
-
- 16 Already compressed by PKLITE
- 15 Already compressed by LZEXE
- 14 Probable Device Driver
- 13 Normal EXE
- 12 Convertible to COM format with EXE2BIN
- 11 Already Packed by EXEPACK
- 10 Multi-segment COM File
- 9 COMPACKted File
- 0 Normal COM File
- 3 Error
-
-
- In order to automate the process of converting programs into a
- more efficient format prior to using COMPACK you can use the
- batch command file REPACK.BAT. REPACK uses utility programs
- supplied by third parties to perform the conversion. It is
- invoked in the same way as COMPACK :-
-
- REPACK bigprog.exe smallprog.exe
-
- EXE programs are convertible to COM format if there are no
- relocatable items, if there is no stack segment, if the starting
- execution address is 100H and the code fits into one 64K segment.
- The appropriate conversion program, EXE2BIN is supplied with many
- DOS operating systems.
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 8
-
-
-
- EXEPACK is a utility supplied by Microsoft which attempts simple
- compression of an EXE file. For example it performs run length
- encoding, compressing repeated bytes into a more efficient
- format. This compression is sometimes quite effective because
- many programs have data areas initialised to some constant value.
- Of course run length encoding is only special case of COMPACK's
- sliding window algorithm. In short anything EXEPACK can do
- COMPACK should be able to do rather better!
-
- Multi-segment COM files are small EXE files which have been
- converted to COM format by a proprietary utility. The format is
- used in various system programs supplied with PC-DOS and MS-DOS
- (for example CHKDSK.COM). The reason for using this format is
- not clear because it results in larger COM files which load
- slower than their EXE counterparts.
-
- Compacting BIOS Files
- _____________________
-
- IO.SYS and IBMBIO.COM may be successfully compressed by COMPACK
- even though strictly speaking they are neither COM nor EXE style
- files. COMPACK takes care of all the details without any special
- options. Neither MSDOS.SYS nor IBMDOS.COM may be compacted at
- present.
-
-
- PROBLEM CASES
- _____________
-
- Not all executable files may be compressed successfully: COMPACK
- may (see messages) abort compression if:-
-
- - the .EXE file is an overlay.
- - the .EXE file is a high memory loading program.
- - the .COM file is larger than 65000 bytes.
- - the .EXE file contains overlays or debug information
- - the program is a device driver (eg CACHE.EXE).
-
- Executable files should be stripped of any debugging information
- prior to compression as this is not automatically removed, and
- cannot be used by a debugger in compressed form. Naturally
- inferior compression results by including inaccessible debugging
- information in a compacted file. COMPACK attempts to detect this
- situation and aborts compaction if the program size is longer
- than specified in the EXE header. However compaction continues
- if the -r switch is used.
-
- Programs which rely on re-reading themselves from disk or
- checking their own size such as COMMAND.COM and certain protected
- software programs may fail to execute correctly when compressed.
- COMPACK cannot always detect such programs automatically, so
- thorough testing is essential. Always maintain a backup copy of
- the original program. COMPACK aborts compression if COMMAND.COM
- is specified as the input program unless the -r switch is used.
- Using the /P parameter the SHELL command in CONFIG.SYS can load
- COMMAND.COM permanently in memory so it should never be re-read
- and therefore works in compacted form. Unfortunately this does
- not always work with some operating system and application
- program combinations so again, careful testing is essential.
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 9
-
-
-
- Example:-
- SHELL=C:\COMMAND.COM /P
-
-
- KNOWN ANOMALIES
- _______________
-
- 1) COMPACK aborts compaction of an EXE file with more than about
- 12000 relocatable segment references. Fortunately very few EXE
- files are this large.
-
- 2) COMPACK does not update the checksum field in the .EXE header.
- This field is not used by DOS, and consequently there should be
- no ill effects under compatible operating systems.
-
- 3) OS/2 and Microsoft (tm) Windows format files are not
- supported.
-
- 4) BUILDSFX does not check for duplicate filenames.
-
-
-
-
- Disclaimer
- __________
-
- Prominence Computer Services Ltd. 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. Prominence Computer Services
- Ltd. will not be liable for any special, incidental,
- consequential, indirect or similar damages due to program
- malfunction or any other reason. In no event shall the liability
- of Prominence Computer Services Ltd. for any damages exceed the
- price paid for the licence to use the software, regardless of the
- form of the claim. The person using the software bears all risks
- as to the quality and performance of the software.
-
-
- COMPACK has been tested on many thousands of files with
- successful results. Nevertheless the possibility of program
- errors can never be completely eliminated. Testing, of course,
- is the responsibility of the user. But if you have any comments,
- suggestions or complaints, please contact us. We will endeavour
- to assist all registered users. Naturally we intend to continue
- development of COMPACK and feedback from users is an essential
- part of this process. Thank you for your cooperation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 10
-
-
- Answers to some common questions about COMPACK
- ______________________________________________
-
- Q: How is it possible that COMPACK can compress programs better
- than the best archiving programs?
-
- A: COMPACK understands the contents of program files and is
- optimised to compress programs efficiently. For example COMPACK
- can realise that much of the space dedicated to an EXE file
- header is redundant. General purpose archivers apply general
- purpose algorithms, paying more attention to compression time and
- archive updating at the expense of compressed archive size and
- expansion time.
-
-
- Q: Will a compressed program always behave like the original?
-
- A: Apart from programs which attempt to read themselves, (such as
- COMMAND.COM, overlay programs, programs with debug information
- etc.) all programs will run similarly (probably faster) because
- the expansion code constructs an identical program image in
- memory just as if the program had been loaded in memory by DOS.
- Naturally there has to be a little extra memory for the expansion
- code to run but this is only a few kbytes. Unlike some other
- compressed programs, COMPACKted programs may be freely renamed
- because they do not attempt to read themselves.
-
-
- Q: However fast the expansion algorithm may be, surely it takes a
- finite amount of time and therefore compacted programs should
- take longer to execute?
-
- A: Almost all compacted programs execute faster because smaller
- programs load faster. The code expansion rate can typically
- exceed 10 Mbits per second on an 80386 and this is far faster
- than the overall throughput of a network or mechanical disk.
-
-
- Q: How can I be sure that COMPACK will work with my application
- program?
-
- A: If your application works with any other compacter such as
- Microsoft's EXEPACK, it will almost certainly work with COMPACK
- but with much better performance.
-
-
- Q: What programs are the best candidates for compression by
- COMPACK?
-
- A: The bigger the better! Small programs are compressed
- successfully but there will always be fixed overhead (about 300
- bytes) of the expansion code to consider. This code becomes a
- smaller proportion of the whole for large programs. In addition
- the compression itself becomes more efficient for larger
- programs.
-
- Q. Much of our distribution software includes data files as well
- as programs. How can COMPACK be used to minimise distribution
- media costs?
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 11
-
-
-
- A. Use COMPACK and our BUILDSFX utility to create self extracting
- files. The programs created by this combination are the smallest
- and fastest available, way ahead of any competitive solution.
-
- Q. Will my compacted application work on non-standard platforms?
-
- A. Almost certainly. COMPACTed programs make no extra DOS calls
- and access no DOS nor BIOS memory structures when expanding and
- so should be compatible even with non DOS operating systems which
- recognise standard EXE and COM programs. But note that COMPACK
- does not support Microsoft's Windows format nor other formats
- which will not run under DOS.
-
- Q. Why does my compacted application not work?
-
- A. It is possible your application uses non-initialised
- variables. Check its execution when running in different memory
- configurations, when running under a debugger etc. Also check
- there is sufficient RAM available. As a final resort contact
- Prominence with sample program.
-
-
- Q. How much extra memory does a compacted program use?
-
- A. A COM style program uses the full 64K byte segment regardless
- of how big the original file was. This is a very modest
- requirement as today most PCs come with at least 640 kBytes of
- RAM. An EXE style program needs an extra 0 to 16 kBytes extra
- (3k bytes is typical). You can find out the exact memory
- requirements of EXE programs using Microsoft's EXEMOD utility.
-
-
- Q. Why is it better to prefer COM files over EXE files?
-
- A. COM files contain no relocation tables and consequently
- relocation is not included with the expansion code, so compacted
- COM files are slightly smaller. Because all COM files must be
- smaller than 64 kBytes, the expansion code is faster as it is not
- necessary to cope with multiple segments.
-
-
- Q. Why does COMPACK think that my COM file is an EXE program (and
- vice versa)?
-
- A. Good question. An EXE file always starts with the signature
- bytes "M" "Z" and a COM file does not. The filename extension is
- ignored by both DOS and COMPACK in determining whether or not the
- program is EXE style.
-
-
- Q. How much does a licence cost to use COMPACK on software for
- corporate distribution?
-
- A. A $125 one time fee permits distribution of up to 500 disks
- per year compacted by COMPACK. No licence requirements are
- necessary for user groups, clubs etc who distribute software on a
- non profit making basis. Licensing of BUILDSFX is negotiable.
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 12
-
-
- COM2EXE - Multi-Segment COM to EXE Converter
- ____________________________________________
-
- Purpose
- _______
-
- COM2EXE is a simple utility program which converts certain multi-
- segment COM files to smaller EXE format. Many system files
- supplied with DOS operating systems use this format. COMPACK is
- able to recognise this format prior to compressing a file and can
- return immediately with an identifying error code if the -i
- option is used. REPACK.BAT uses this option to optimise program
- compression.
-
- Multisegment COM files consist of a normal EXE program together
- with special extra code to perform segment relocation and
- register initialisation. The COM2EXE utility simply removes this
- excess code creating a smaller program which can be compressed
- better than the original COM file.
-
- It is important to note that only special COM files can be
- converted in this way. COM2EXE will issue a warning message if
- used on inappropriate files.
-
-
- COM2EXE Syntax
- ______________
-
- COM2EXE input-prog.COM output-prog.EXE
-
- COM2EXE requires DOS 2.0 or later and 256k bytes of free memory.
-
-
- Example Use
- ___________
-
- COM2EXE D:CHKDSK.COM E:CHKDSK.EXE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 13
-
-
- BUILDSFX - Self Extracting Program Creator
- __________________________________________
-
- Purpose
- _______
-
- BUILDSFX is a utility program to concatenate multiple data files
- into a single EXE style program which re-creates the data files
- in the current directory when executed. COMPACK is automatically
- invoked to compress the program providing a very efficient means
- of distributing all kinds of data and program files. Benchmarks
- show that creating files in this way is far faster than
- conventional self extracting files (up to 20 times faster) but
- file size is smaller than the best archiving programs. In fact
- it is usually faster to execute a BUILDSFX file than use DOS COPY
- command!
-
-
- BUILDSFX Syntax
- _______________
-
- BUILDSFX [-p] input-file(s) output-program
-
- The first parameters are one or more ambiguous file
- specifications, (ie they may optionally contain '*', or '?')
- defining the input files to be included in the program. The last
- parameter is the name of the output program which is created in
- COMPACKted EXE format. Both may contain pathnames. It is
- essential that COMPACK.EXE is in the current path.
-
- BUILDSFX creates a temporary file, BUILDSFX.$$$, on the path as
- the output program and the invokes COMPACK to compress it. The
- temporary file is deleted afterwards. You may wish to speed up
- compression or avoid space problems on the output device by
- specifying the directory where the temporary file should be made.
- This is done by way of the DOS environment variable TMP, used
- also by many other PC applications. For example if you wish the
- temporary file to written to the RAM disk drive d: one could
- include the following DOS command in AUTOEXEC.BAT file.
-
- SET TMP=D:\
-
-
- The optional -p switch indicates that the first file is to be
- extracted as a prompt to the screen when the SFX executes. This
- allows the user the software distributor to explain to the user,
- in the appropriate language, that he is executing a self
- extracting file. The prompt file is sent to the screen (standard
- output) and the program waits for any key to be pressed when file
- extraction commences. (^C or the BREAK key aborts file
- extraction).
-
- BUILDSFX requires DOS 2.0 or later and 256k bytes of free memory.
-
-
- Example Use
- ___________
-
- BUILDSFX D:\TXT\*.?OC E:MAKEDOC.EXE
- BUILDSFX -p PROMPT d:\BIN\*.EXE d:\BIN\*.COM EXESFX.EXE
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
-
- COMPACK 4.5 User Manual Page 14
-
-
- Execution of the SFX
- ____________________
-
- When executed the SFX.EXE program will expand itself in memory
- and proceed to create its component data files (overwriting any
- files with the same name) in the current directory. Obviously
- there must be sufficient free memory available for SFX to run so
- care should be taken not to create excessively large SFX
- programs. If necessary multiple SFX programs.
-
- The SFX returns an error code of 0 if file creation is
- successful, otherwise a simple message is displayed and error
- code > 0 is returned. These error codes can be detected by a
- batch file or install program.
-
- Note that component files are created with their original
- attributes and date and time stamps.
-
-
- Using SFX programs on Single Diskette Systems
- _____________________________________________
-
- One of the most frustrating problems using conventional archives
- is the need to access the archive file, the archive utility
- program and an empty destination diskette simultaneously. Single
- diskette systems may require laborious and error prone multiple
- diskette changes. Because the SFX programs created by BUILDSFX
- do not read themselves from disk, once loaded into memory, the
- source diskette is no longer required. Software distributors may
- wish to advise their users that it is safe to change diskettes by
- inserting the appropriate message in the optional prompt file.
-
- Naturally if it is intended that extraction is to be made to
- diskette, there must be sufficient space on that diskette for all
- the extracted files! (A warning message is given if there is
- not). To avoid potential errors of this kind it is wise to limit
- the volume of files compressed into any one SFX program. In any
- case sufficient memory must be available to hold all the expanded
- files in memory. In the event that insufficient memory is
- available the operating system will abort loading of the SFX
- program.
-
-
- Minimising SFX disk size
- ________________________
-
- COMPACK works by compressing repeated byte strings so files which
- are likely to contain similar strings should be grouped together
- in the SFX. This can be done by reordering the files in the
- input directory. For example, it is often appropriate to sort
- the input directory first by filename extension, and then by
- increasing file size.
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-
- COMPACK COMMERCIAL USE LICENCE
- ______________________________
-
-
- MEMORANDUM OF AGREEMENT
- _______________________
-
- between COMPANY. (hereinafter called the Licensee) of COMPANY
- ADDRESS, of the one part and Prominence Computer Services Ltd.
- (hereinafter called the Licenser) whose registered office is at 7
- Old King Street, Bath BA1 2JW, England, of the other part.
-
- Definitions
- ___________
-
- a) 'The Product', means the Licensee's computer software, known
- as APPLICATION.
-
- b) 'The Utilities', means the Licenser's computer software
- package known as COMPACK used for file compaction, and described
- in the documentation whether or not incorporated in whole or in
- part into other software. Where appropriate in context, the
- phrase includes all or any modifications substantially based on
- or derived from the software package whether entitled COMPACK or
- not.
-
-
-
- NOW IT IS HEREBY AGREED BETWEEN THE PARTIES HERETO AS FOLLOWS:-
- _______________________________________________________________
-
- 1) The Licenser hereby grants to the Licensee the non-
- transferable and non-exclusive rights use the Utilities on
- Product for distribution and the Licensee agrees to pay the
- Licenser a one time fee of US $125. This agreement does not
- authorise the distribution of the Utilities for profit, nor are
- any rights are granted until the fee has been paid. The Licensee
- may terminate this agreement in writing within 30 days of its
- execution for a full refund of any fee already paid.
-
-
- 2) The Licenser hereby warrants that the Utilities are original
- and will in no way whatever infringe upon any existing copyright.
- The Licensee agrees that all components of the Product modified
- by the Utility shall be protected by copyright, and shall
- exercise at least the same care and diligence to protect the
- Licenser's intellectual property as it does to protect its own.
-
-
- 3) The Licensee agrees to acknowledge in the Utilities or in
- their documentation that the use of COMPACK has been licensed by
- the Licenser.
-
-
- 4) The parties to this Agreement undertake to maintain the
- confidentiality of any communication which is specified at the
- time as being confidential, and undertake not to disclose such
- information as sales figures, billing methods, pricing,
- algorithms, technical specifications, program code unless such
- information is already made public (other than by breach of this
- Agreement).
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
- 5) Prominence Computer Services Ltd. hereby disclaims all
- warranties relating to the Utilities, whether express or implied,
- including without limitation any implied warranties of
- merchantability or fitness for a particular purpose. Prominence
- Computer Services Ltd. will not be liable for any special,
- incidental, consequential, indirect or similar damages due to
- program malfunction or any other reason. In no event shall the
- liability of Prominence Computer Services Ltd. for any damages
- exceed the price paid for the licence to use the software,
- regardless of the form of the claim. The person using the
- software bears all risks as to the quality and performance of the
- software.
-
-
- 6) This Agreement shall be subject to and construed according to
- the laws of England.
-
-
- __________________________________________ __________________
-
- Authorised Signature (Title and Date)
- COMPANY.
-
-
- __________________________________________ Director
- Authorised Signature 1 January 1991
- Prominence Computer Services Ltd.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright (C) Prominence Computer Services Ltd. 1990,1991
-
-
-