home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
UTILS2
/
ZPRO123.ZIP
/
ZIPRPRO.REV
< prev
Wrap
Text File
|
1994-03-10
|
28KB
|
700 lines
ZIP'R Professional For DOS Revision History
03-10-94 ■ Version 1.23
. Modified an error message about the program parent
directory not being present to be more accurate by
stating that either the program parent directory or
the main program directory is not present.
. Converted the FloppyFormat variable to an enumerated
type within the code for easier variable-checking.
. Added a ZPExec procedure that contains all compression
and decompression related Exec functions. (Code size
reduction of 6.5K.)
. Moved several boolean variables into the INI and ZIF
records, to make the code more concise.
. Changed the default value for SubdirectoryDeletion to
True.
. Changed If..Else If statments in Errors unit to a Case
statement to make the code shorter and more concise.
. Moved all common string literal declarations into a new
ZPSTRING unit.
. Increased the estimated string array size for Exclude,
Extract, IN, OUT, TSRPre, and TSRPost commands.
. Converted CompressionType literal strings to an
enumerated type.
. Changed all error message strings that were passed as
variables to a global routine into an enumerated type.
This allows automatic compiler validation, and shortened
the code by over 10K.
03-03-94 ■ Version 1.22
. Added 3D effects to query and error screen dialog boxes.
. Added an IOResult check and corresponding error message
if the ProgramParent directory can not be successfully
created on a RAM Disk.
. Circumvented a potential problem in the compression and
decompression routines where a default value for the
Compression and Decompression Swap parameters was not
being set. The compression procedure would issue an
error message under this circumstance. Altered the
code to provide a fail-safe parameter assignment.
. Corrected a problem in the ARJ Decompression procedure
where the "Default" Decompression Swap parameter was
not being read.
. Added code to convert the ZIPRPROPath to upper case.
. Removed several "EraseDecompressionSignalFile"
statements from the beginning of the DecompressZipFile
procedure. This file had not yet been created at
this point in the procedure.
. Corrected a problem where the update option was not
working properly. (Broken in 1.22, not released.)
. Fixed a problem where a runtime error 202 would occur
if the file PKUNZIP.EXE could not be found. The
runtime error would be issued prior to displaying the
error message from ZIPRPRO. (Increased stack.)
. Added automatic ProgramParent directory creation if
extracting to a RAM disk.
. Added preliminary support for extraction to a RAM disk.
. Corrected a problem where an error message would be
issued if the "Program" directory did not exist. This
created a problem if a "Program Parent" directory was
specified, since the program directory might not exist
under this circumstance.
. Corrected a problem where the .N?? file was not being
deleted if errors were detected when checking the
validity of the values in the .INI and .ZIF files.
. Shortened several code segments by using better coding
techniques.
. Corrected a potential problem where the .SXT signal
file could be mistakenly deleted by ZIPRPRO.
. Combined the Done and DoneNoSXTDelete routines into a
common procedure. Added an enumerated type variable
to pass to this procedure, informing it of any
restrictions to observe.
02-26-94 ■ Version 1.21
. Corrected minor spacing / carriage return problems on
dialog box (Query) screens.
. Corrected a potential problem where the /CLEANUP option
would delete files in the current directory, not the
ZIPRPRO sub-directory, if launched from a directory
other than the ZIPRPRO sub-directory.
. Corrected a problem where a runtime error 2 would occur
in the CreateSubDirectoriesUnderOS2 procedure, because
an Else statement was omitted.
. Streamlined the code by creating two erase file routines
to replace the separate erase routines used previously.
02-16-94 ■ Version 1.20
. Fixed a major problem where the original .ZIP file
could be deleted if the executable file could not be
found and update option was enabled. (Data loss could
occur in this situation, especially if Selective
Extraction or Selective Exclusion was enabled.)
. Added support to erase the *.DFL, *.NFL, *.OFL, and
*.DIR files when using the /Cleanup option.
. Added support to manually create subdirectories when
operating under OS/2. This option will circumvent a
potential problem where PKUNZIP cannot create sub-
directories under OS/2. (This problem has been reported
to PKWare.)
. Updated IFDEF and IFNDEF statements throughout the code
to minimize code size for each module.
. Moved several string pointer variables into the INI and
ZIF record variables.
. Reduced the ARJ and LHA default memory requirements
to more realistic levels.
. Re-compiled with updated libraries.
. Corrected a problem in the stTV3ChoiceBox procedure
that caused the box to be too narrow to properly
center a long header.
. Added support to display the Command Processor and
ZIP'R Pro Path information in the new style message
boxes.
. Corrected a problem where the TestFlag boolean was
not being set early enough in the code to display
the INI Parameters screen. (%2 = TEST)
. Added support to display the .INI Parameters in the
new style message boxes.
. Added all missing .ZPD Parameters to the ZPD Parameter
display procedure. Added code to display the first
10 INCommands, OUTCommands, ExcludeFiles, ExtractFiles,
TSRPreProgramCommands, and TSRPostProgramCommands.
. Added support to read old style .ZPD files, prior
to current version. (Set internal flags if the new
UseINCommands, UseOUTCommands, UseTSRPreCommands,
and UseTSRPostCommands variables could not be found
in the .ZPD file.)
. Added support to display the .ZPD Parameters in the
new style message boxes.
. Fixed a problem in the stTV3ChoiceBox procedure, that
caused a system hang if the maximum number of lines
exceeded the pre-defined limit.
. Added support to read UseINCommands, UseOUTCommands,
UseTSRPreCommands, and UseTSRPostCommands variables
from the .ZPD file.
01-30-94 ■ Version 1.19a (Internal Release)
. Corrected a problem where the swap file name was not
being passed to the swapping exec procedure. (This
problem was introduced, in version 1.20, when the
common exec swapping functions were created.)
. Added support to specify whether EMS memory is to be
used over XMS memory for the swapping exec procedure.
The default behavior is to use EMS first, but may be
overridden.
. Added support to swap to XMS memory during program
execution, if available. Previously, only EMS or
disk was used for the swap file.
. Modified the swapping-related procedure calls to force
a swap (default) as a fail-safe procedure.
. Modified the WindowedCompression and WindowedDecompression
procedure calls to automatically force windowed mode
(default) as a fail-safe procedure.
. Converted all execute calls to use the new procedures.
. Removed the STSI2 unit from the uses clause to prevent
unnecessary compilation.
. Corrected a problem where the swap file (.SWF extension)
was not being erased when the /Cleanup option was
specified. (This file has the system attribute set.)
. Created common execution functions to reduce code
size and complexity.
. Corrected a potential problem where the compressed
file could have been deleted, if an incorrect value
for CompressionSwap or DecompressionSwap was read from
the .INI file.
. Converted the internal SortedExtraction variable
to a Boolean type.
. Corrected a problem where the .INI file was not
being read prior to checking the cleanup password.
. Changed the behavior of the cleanup password
procedure to not prompt for a password if the
password is blank.
. Converted internal WindowedCompression and
WindowedDecompression variables to Boolean types.
. Reduced the memory requirement default values for
PKZIP and PKUNZIP. (New default swapping option will
be added to the ZIF Editor.)
. Re-worked the .INI and .ZIF read routines to make the
code faster and more concise.
. Added support for the new INIVersion, ZIFVersion,
UseDiskForExecSwap, UseEMSForExecSwap, and
UseXMSForExecSwap parameters.
. Re-arranged the order and placement of passed parameter
related code, to allow the disposal of unnecessary
pointer variables.
. Modified dialog box code to allow centering or left
justification.
. Changed all error messages to be displayed using the
new style dialog boxes.
. Converted all query screens to the new style.
Corrected various punctuation problems in the text
of the new screens.
. Modified cleanup password field to automatically
convert characters entered to upper case.
. Corrected a problem in the swapping Exec routines
where the executed program would hang. (This problem
was caused by the mouse handler routines not being
disabled before performing the swap, and was introduced
in version 1.20.)
. Added password protection for the /Cleanup option.
. Updated prelog screen to show the amount of Heap memory
available.
01-20-94 ■ Version 1.19
. Added additional error messages for new error checking
procedures, and corrected a typo in a separate error
message.
. Enhanced the conventional memory available routine to
provide a more accurate estimate of the amount of
conventional memory available on the system. (This
figure approximates the free memory reported by MEM.)
. Corrected a problem where the logic controlling the
loading of a command processor was backwards when
executing a .BAT or .BTM file
. Added a check to force a command processor to be
loaded if the program to be executed contains a
.BAT or .BTM extension.
. Added support to execute the desired program without
loading a command processor first. This increases
the memory available to the program by about 3-5K.
. Removed unnecessary "Continue" statements from the
INI and ZIF file read routines.
. Converted internal string pointer variables to use
INI and ZIF records.
. Added support in the TSR Container file section to
use the AlternateEXELaunchDirectory feature.
. Fixed a problem where the "CALL" statement was not
being placed in front of the program name in the TSR
Container file if the Parameters field was blank.
. Corrected a potential problem where the current drive
and directory was not being set prior to executing
OUT commands. This could have been a problem if the
current drive and/or directory was changed during
program execution, such as when shelling to DOS.
. Added support for an alternate EXE launch directory
to make it possible to launch a program from a
directory other than the one in which the executable
file resides. (The program does NOT have to be an
EXE file.) This feature allows programs, such as
Microsoft Works, Borland Pascal, and others, to be
executed from a data subdirectory.
. Added preliminary support for string encryption and
decryption.
01-06-94 ■ Version 1.18
. Improved the Conventional memory estimate on the
prelog screen to more accurately reflect the amount
of memory available after swapping.
. Updated the BIOS screens to match the direct-write
screens.
. Added support for AUTO, DIRECT, and BIOS screen write
modes. This should help to solve any screen-related
compatibility problems that might exist.
. Added video mode detection when using the AUTO screen
writes option.
. Updated the prelog screen to display the status of the
Use Atomic Lock Files option.
. Updated the prelog screen to display the Selective
Extraction (SXT) and Selective Exclusion (SXC) entries
separately. (If either option is disabled, the
corresponding entry count will be 0.)
. Updated the prelog screen to display the status of the
new Subdirectory Deletion option.
. Added support to NOT delete sub-directories when using
PKZIP v2.04g. This switch is necessary when an OS/2
system is operating on a network in combination with
other systems. Due to some sort of conflict, sub-
directories can not be re-created under OS/2. (Unsure
whether this is an OS/2, NetWare Requester, or PKZIP
caused problem.) This switch can only be used with
PKZIP v2.04g.
. Added preliminary support for compression program version
number tracking. Future versions of ZIP'R Professional
may support compression program features that might not
be available in previous versions of the compression
program.
. Corrected an alignment problem on the FileCount indicator.
. Added a FileCount / Twirling Bar indicator to the AFSC
Level 4 screen to display the progress of the file size
scanning. (Due to the high scanning speed, this feature
will be useful only on compressed files with an extremely
high number of files.)
01-01-94 ■ Version 1.17
. Corrected a problem where .SXT signal files were not
being deleted when the /CLEANUP switch was used.
. Corrected a possible ambiguity in the ExecDOS error
messages. (#-5 changed to # -5.)
. Updated the AFSC routines to use integer division, which
eliminates the extra rounding step needed for reals.
. Corrected a problem in the AFSC Level 4 (ZIP) calculation
procedure that would cause erroneous calculations. (The
file size returned would always be 0.)
12-27-93 ■ Version 1.16
. Fixed a problem where an extra hyphen was being prepended
to the compression command line.
. Added CompressionOptions support to the ARJ and LHA
compression procedures. (LHA does not currently support
this feature.)
. Fixed a problem where the CompressionOptions field in the
.ZPD file was not being passed to PKZIP.
. Fixed a minor problem where ".ZIP" was hard-coded onto the
Query For Compression screen. If ARJ or LHA was being used,
the screen would still say that the resulting compressed file
would have a .ZIP extension.
. Added an additional check for PKZIP.EXE before decompressing
a .ZIP file when using Selective Extraction or Selective
Exclusion. This is important, because when these options are
enabled, the program MUST be re-compressed to preserve all
data files.
. Fixed a potential problem where the existence of PKZIP.EXE
was not being verified before deleting files from the
original .ZIP file.
. Fixed a potential problem where ZIP'R Professional was not
verifying the existence of PKUNZIP.EXE and PKZIP.EXE before
attempting to create the temporary file lists.
. Added an additional check to attempt to locate the selected
compressor on the DOS PATH. ZIP'R Professional will use the
path specified in the ZIPRPRO.INI file if the program exists.
If the program cannot be found, the ZIPRPRO directory is
searched. If this search fails, the DOS PATH is searched.
12-25-93 ■ Version 1.15
. Cleaned up some internal routines related to cleaning up
signal files before exiting ZIP'R Professional.
. Changed the .ZPD and .INI file read routines to reduce
overhead and increase speed.
12-22-93 ■ Version 1.14
. Added error reporting to the error trapping sections of
the IN Command, Program, and OUT Command routines. If an
error is detected in any of these routines, ZIP'R Pro will
report the error and query the user whether to continue.
The error reporting routines will also report whether the
error was generated by the command processor (Error Code)
or by the IN Command, OUT Command, or Program (Exit Code).
. Corrected a problem in the Accurate File Size Calculation
routines where the selective extraction and exclusion
entries were still being used, even if the file was being
decompressed from a floppy disk.
. Fixed a major problem where data loss could occur if the
compressed file was stored on a floppy diskette, and
selective extraction or selective exclusion was enabled.
This is a rather rare combination of options, but since
data loss is likely, it is prudent to upgrade previous
versions of ZIP'R Professional For DOS.
. Corrected a problem where the cursor would disappear
following some query screens.
. Added /CLEANUP option to erase all signal files from the
ZIPRPRO sub-directory. This option should be used with
care to ensure that no other processes are using ZIP'R
Professional.
12-20-93 ■ Version 1.13
. Corrected a problem where a program that is executed
using a batch file, that also used a TSR container file
would not return control to ZIP'R Professional for
re-compression. The solution was to "CALL" the batch
file from the TSR container file.
. Corrected a problem where the Decompression Signal File
might not get deleted under some error situations.
. Completed the transfer of code to common units to allow
code sharing between different components of the ZIP'R
Professional series of programs.
. Added conditional defines to allow code sharing between
ZIP'R Professional For DOS and the ZProcessor component
of ZIP'R Professional For Windows.
. Isolated a problem creating sub-directories under OS/2
to the use of "Global" network sessions. The Novell
OS/2 requestor handles directory creation differently
under global or private network sessions. ZIP'R Pro
should be used in a private session if sub-directories
must be re-created.
. Checked into a potential problem with AFSC Level 4 if
the lines were too long, and wrapped on the screen.
The function used to handle the string to long integer
conversion correctly handles this situation, and ignores
any strings that it can't convert. No action necessary.
12-05-93 ■ Version 1.12
. Added error checking to make sure that compression
cannot occur to floppy drives unless the compression
program being used is PKZIP. (Other compression
programs do not currently support spanning floppies.)
. Changed the way ZIP'R Professional deals with the
attributes of a compressed file that resides on a
floppy diskette. The attributes of these files
will not be changed, since we do not know which
diskette is in the drive, and multiple diskettes
may be required to store the compressed file.
. Fixed a problem with floppy compression where the
query for compression floppy diskette was occurring
too late. This caused programs to be compressed
to floppy diskettes properly, but they could not be
decompressed. (After further checking, the programs
could be decompressed, but the prompt for the
decompression floppy disk was in the wrong position.
A work-around was to simply make sure that the disk
was in the drive.)
. Added Compress/Decompress and TSR Entries indicators
to prelog screen. Separated Net/Multi to be two
separate indicators, and added code to detect them
individually.
. Added a program halt command following the error
message display if the ZIPRPRO.INI file cannot be
found.
. Corrected a problem where the .ZIP file was not
being deleted if Update mode and Compress/Decompress
only mode were enabled.
. Added code to force a total decompression if
"Compress/Decompress Only" is enabled. This will
prevent problems if all files are not extracted.
. Corrected a problem where the .DSF file was not
being deleted under various circumstances in the
decompression module.
. Corrected a potential problem where logging to a
non-existent program or program parent directory
was not calling the "Done" procedure.
. Removed unnecessary ZipName pointer variable, and
replaced with CompressedFileName pointer variable.
. Corrected a problem where the .DSF (Decompression
Signal File) was not being deleted if an error
occurred during the CheckSpaceForDecompression
procedure. (This problem could manifest itself
if the compressed file was corrupt.)
11-26-93 ■ Version 1.11
. Added error message if Selective Exclusion is enabled,
but no file specifications have been entered.
. Corrected problems where three delete routines were
not marking the compressed file with normal attributes,
generating a run-time error. (Code 5, File Access
Denied) This error would occur when query mode was
enabled, and the program was not re-compressed.
. Updated random filename generator code in the DECOMP
procedure to use the new method for generating
random filename prefixes.
. Added "Selective Exclusion" feature to complement
Selective Extraction. Selective Exclusion allows
certain files or groups of files to be excluded
from extraction.
. Changed the prelog screen to display the number of
Selective Extraction files (entries) and the number
of simultaneous ZIPRPRO licenses.
11-21-93 ■ Version 1.10
. Changed the logic in the prelog screen to highlight
Query Option if Selective Extraction is enabled, but
the compression type is not ZIP.
. Changed the countdown code on the prelog screen to
count to 0.
. Added code to mark the compressed file as ReadOnly
during ZIPRPRO operations. This should help to
reduce the chances of accidently deleting the original
compressed file during update mode (inconvenience) or
during selective extraction (potential disaster).
. Added code to mark all signal and temporary files
ReadOnly, to prevent other processes from erasing them.
Also added code to mark files as normal before attempting
to delete them.
. Corrected a problem where the atomic lock files were
not being closed properly after creation.
. Re-worked the token and temporary file creation and
detection routines to use variable names and file
extensions that fit their function.
. Moved the code to generate a random filename prefix
to a separate, common procedure, reducing the
complexity of the routines that require these names.
. Added error message codes to trap the condition if
more than one users attempts to access a compressed
file when Selective Extraction is turned on.
. Fixed a problem where the .TK1 file was being created
on programs that did not need to be decompressed, and
the .TK1 file was not being deleted.
. Moved .TK1 and .TK2 file detection and creation to a
common area of the DecompressZipFile procedure.
. Changed the signal file checking order to accomodate
the new Selective Extraction .SXT file.
. Fixed a problem where the Selective Extraction .SXT
signal file was being created in error. (A non-atomic
file was being created.)
. Added code to limit access to the compressed file if
selective extraction is being used by any user.
. Added error message code to trap the condition if
Selective Extraction is turned on, but no files are
entered for extraction.
. Corrected a problem where the procedure to calculate
the space required to decompress the compressed file
was being executed when the compression type was NONE,
and no compressed file existed.
. Checked out a potential problem with PKUNZIP erroring
out if files specified for extraction did not exist.
It turns out that PKUNZIP simply ignores this type of
error, eliminating the need to deal with it in ZIPRPRO.
. Added code to disable Query mode if using Selective
Extraction. (This is necessary to insure the integrity
of the original compressed file, and to prevent errors
when attempting to decompress files a second time.)
. Corrected problems in the CheckSpaceForDecompression
procedure where an EXIT was being executed before the
selective extraction container file was generated.
. Revised the code in the CalculateExactFileSize routine
to base its calculations on the list of files to be
extracted, if Selective Extraction is enabled.
. Added the more rigid compressed file type checking to
the internal CalculateExactFileSize, DecompressZipFile,
and CheckSpaceForDecompression procedures.
. Eliminated the automatic detection of compressed file
archive types. Now, the type of compressed file must
match the compression type specified in the .ZPD file.
(If users wish to change compression types, they must
use a compression type of "NONE" for one pass. Then,
the file may be re-compressed with the new compressor.)
. Added fail-safe code to the prelog screen procedure
that will show grayed-out check marks if any options
have been disabled by ZIP'R Professional.
. Updated prelog screen to show the status of the new
"Selective Extraction" option.
. Added support for "Selective Extraction" when using
PKZIP/PKUNZIP.
11-15-93 ■ Version 1.00
. Initial release of ZIP'R Professional For DOS.