home *** CD-ROM | disk | FTP | other *** search
/ Tools en Utilities / CDASS_5.ISO / shell / comp / zpro200.arj / ZIPRPRO.REV < prev   
Encoding:
Text File  |  1994-06-29  |  38.8 KB  |  937 lines

  1.                  ZIP'R Professional For DOS Revision History
  2.  
  3.  
  4. 06-29-94 ■ Version 2.00
  5.  
  6.          . Added support for a user-specified compression mode.
  7.            Valid values are BestMethod, Deflate, Implode, Shrink,
  8.            and Store.
  9.  
  10.          . Added support for a user-specified deflate level when
  11.            using internal ZIP compression.
  12.  
  13.          . Added support for user-specified implode values when using
  14.            internal ZIP compression.
  15.  
  16.          . Converted the ClrScr w/Error Message calls to use the
  17.            HandleError procedure.
  18.  
  19.          . Changed the ProcessErrorCode procedure to a function.
  20.  
  21.          . Modified the HandleError procedure to allow it to process
  22.            error codes that must be passed to the ShowErrorMessage
  23.            procedure.
  24.  
  25.          . Changed the DeletedFiles variable in the COMP unit from a
  26.            literal string to a boolean.
  27.  
  28.          . Changed the MatchingFileFound variable in the COMP unit from
  29.            a literal string to a boolean.
  30.  
  31.          . Added code to only display the gauge window when necessary and
  32.            resize the compression window depending on whether the gauge
  33.            window is displayed or not.
  34.  
  35.          . Changed gauge window display to be indented rather than out-
  36.            dented.
  37.  
  38.          . Added a fail-safe check to the DeleteAllFilesExcept routine
  39.            to make sure that the current directory is not the root
  40.            directory of a hard drive.
  41.  
  42.          . Added a fail-safe check to make sure that the Accurate File
  43.            Size Calculation displays Level 4 on the prelog screen when
  44.            Internal ZIP is being used.  (With Internal ZIP, all calculations
  45.            are 100% accurate.)
  46.  
  47.          . Changed the directory existence checks to use a procedure from
  48.            a commercial library, instead of our own STSI library.  Our
  49.            procedure was not handling root directories properly.
  50.  
  51.          . Added code to read the current entry when decompressing a .ZIP
  52.            file with the Internal ZIP code.  New code makes sure that any
  53.            imbedded directories are created if they do not exist.  Any
  54.            directory entries contained without files are discarded.  This
  55.            allows more complete compatibility with PKWare's PKZIP.  Previous
  56.            code would cause a decompression error to occur.
  57.  
  58.          . Moved all of the DrawHeader and DrawCompressionScreen calls inside
  59.            of the ZPExec routine, where possible.  This fixed a problem where
  60.            incorrect messages were sometimes displayed during the compression
  61.            or decompression processes.
  62.  
  63.          . Fixed several issues relating to the display of the decompression
  64.            query box that pops up when a duplicate file exists on the hard
  65.            drive.  Widened the available display for the filename and
  66.            potential directory entry, and added fail-safe code to truncate
  67.            these on the left side if they get too long.
  68.  
  69.          . Modified the remaining routines in the COMP, DECOMP, and
  70.            EXECUTE units to use the HandleError procedure.
  71.  
  72.          . Created a common procedure in the COMP unit to contain the
  73.            compression signal file related detection and creation
  74.            code.
  75.  
  76.  
  77. 06-20-94 ■ Version 1.28  (Internal BETA Version - Not Released!)
  78.  
  79.          . Fixed a problem where the screen was not being cleared after
  80.            windowed decompression.  Added a reset of the screen and
  81.            color output.
  82.  
  83.          . Modified shadows on compression and decompression screens
  84.            to be completely black.
  85.  
  86.          . Added a command to reset the Window coordinates before
  87.            attempting to write the file count or twirling bars display
  88.            to the screen.  After adding several window-relative routines,
  89.            both displays were being written to a relative window, instead
  90.            of the absolute screen coordinates.
  91.  
  92.          . Fixed a problem where the title and copyright notice on the
  93.            Query screen started "disappearing" after other Internal
  94.            ZIP windowing routines had been implemented.  Used window-
  95.            relative screen writing instead of absolute screen writing.
  96.  
  97.          . Created a textured background screen for the Internal ZIP
  98.            compression and decompression windows.
  99.  
  100.          . Added a "Moving files.  Please wait!" header to the display
  101.            screen when files are being deleted after the compression
  102.            process.
  103.  
  104.          . Added a call to the UpdateGaugeWindow procedure during the
  105.            file deletion process to provide a visual progress indicator.
  106.  
  107.          . Altered the DeleteAllFilesExcept procedure to use a direct
  108.            directory search to delete files, instead of a FileMaskList
  109.            generated from the original archive file.  This allows the
  110.            procedure to work in all situations.
  111.  
  112.          . Changed the name of the stDeleteFilesIntZIP procedure to
  113.            DeleteAllFilesExcept.
  114.  
  115.          . Created a header window to be used for displaying status
  116.            messages during the compression / decompression processes.
  117.            This replaces old code which simple used absolute screen
  118.            writing.
  119.  
  120.          . Added a bar graph and compression/decompression window
  121.            to be used when Internal ZIP is used as the compression
  122.            type for a program.  The bar graph is updated depending on
  123.            the current file vs. the total files to be compressed or
  124.            the total files located inside the ZIP file.
  125.  
  126.          . Created a common HandleError procedure in the Errors unit
  127.            to centralize the compression/decompression error handling.
  128.  
  129.          . Created a common LaunchExternalDecompressor procedure in the
  130.            Decomp unit, reducing final .EXE code size by about 2K.
  131.  
  132.          . Worked around a problem where an empty sub-directory would
  133.            cause an error #2 during the compression process (File Not
  134.            Found).
  135.  
  136.          . Set up a file counter to keep track of the total number
  137.            of files that will be compressed into the internal ZIP
  138.            generated file.
  139.  
  140.          . Enabled sub-directory creation during internal ZIP
  141.            decompression.
  142.  
  143.          . Added code to recurse sub-directories during the internal
  144.            ZIP compression process.
  145.  
  146.          . Made sure that the compression and decompression signal
  147.            files are erased if an error occurs during internal ZIP
  148.            compression or decompression.
  149.  
  150.          . Added code to call the Done routine if an error occurs
  151.            during the internal ZIP compression / decompression
  152.            processes.
  153.  
  154.          . Created a routine to calculate the exact disk space
  155.            needed for extracting a ZIP file when using the
  156.            internal ZIP compression / decompression routines.
  157.  
  158.          . Added preliminary support for internal PKZIP 2.0
  159.            compatible compression and decompression.
  160.  
  161.  
  162. 06-10-94 ■ Version 1.27
  163.  
  164.          . No coding changes.
  165.  
  166.  
  167. 05-26-94 ■ Version 1.26
  168.  
  169.          . Changed the AddBackSlash procedure to stAddBackSlash
  170.            when generating the ZIPRProPath.  stAddBackSlash adds
  171.            a backslash when the last character in the path is a
  172.            colon.
  173.  
  174.          . Modified the behavior of the prelog screen display
  175.            to prevent the screen from being displayed if the
  176.            PrelogDelay was set to 0.
  177.  
  178.          . Fixed a problem where the prelog screen was being
  179.            displayed when the PrelogType was set to NONE.
  180.  
  181.          . Changed all "Halt" statements to "stHalt(?)", where
  182.            ? is the ERRORLEVEL.
  183.  
  184.          . Changed an error message in the DECOMP unit to use
  185.            an stTVMessageBox.
  186.  
  187.  
  188.  
  189. 04-22-94 ■ Version 1.25
  190.  
  191.          . No modifications.  (See ZIFPRO.REV for modifications
  192.            to the ZIF Editor Pro.
  193.  
  194.  
  195. 03-26-94 ■ Version 1.24
  196.  
  197.          . Removed all /CLEANUP option code from ZIPRPRO.  This
  198.            option is now available from the ZIF Editor.  A code
  199.            size reduction of about 11K was achieved.
  200.  
  201.          . Modified code so that ZIP'R Pro does not execute the
  202.            program when the /TEST parameter is being used.  It
  203.            simply displays the parameters and exits.
  204.  
  205.          . Changed the "TEST" parameter to "/TEST".
  206.  
  207.          . Fixed a problem where the compression signal file
  208.            was not being deleted if an error occured while
  209.            attempting to test the archive integrity.
  210.  
  211.          . Fixed a problem where an error message was not being
  212.            issued if a compression or decompression signal file was
  213.            detected.  ZIPRPRO would simply exit, with no warning.
  214.  
  215.          . Created enumerated types for PrelogType and
  216.            RegisteredVersion, replacing the literal strings used
  217.            previously.
  218.  
  219.          . Re-worked the INI and ZIF test display procedures to
  220.            use string arrays.  This change reduced the code
  221.            size slightly, and substantially reduced the complexity
  222.            of these procedures.
  223.  
  224.          . Converted the ScanActivityIndicator string variable
  225.            to an enumerated type.  Corrected a problem where a
  226.            mis-spelling of a literal string could have caused
  227.            the Twirling Bars to fail to work.
  228.  
  229.          . Added a common function to search for ARJ, LHA,
  230.            PKZIP, and PKUNZIP in their respective paths, the
  231.            ZIP'R Pro path, and the DOS PATH before calling
  232.            any of these programs.  The common function reduced
  233.            the code size by .5K.
  234.  
  235.          . Modified code to check for the existence of a backslash
  236.            at the end of the ARJ, LHA, and ZIP paths after they
  237.            are read from the .INI file.  If a trailing backslash
  238.            is not detected, one is added.
  239.  
  240.  
  241. 03-10-94 ■ Version 1.23
  242.  
  243.          . Modified an error message about the program parent
  244.            directory not being present to be more accurate by
  245.            stating that either the program parent directory or
  246.            the main program directory is not present.
  247.  
  248.          . Converted the FloppyFormat variable to an enumerated
  249.            type within the code for easier variable-checking.
  250.  
  251.          . Added a ZPExec procedure that contains all compression
  252.            and decompression related Exec functions.  (Code size
  253.            reduction of 6.5K.)
  254.  
  255.          . Moved several boolean variables into the INI and ZIF
  256.            records, to make the code more concise.
  257.  
  258.          . Changed the default value for SubdirectoryDeletion to
  259.            True.
  260.  
  261.          . Changed If..Else If statments in Errors unit to a Case
  262.            statement to make the code shorter and more concise.
  263.  
  264.          . Moved all common string literal declarations into a new
  265.            ZPSTRING unit.
  266.  
  267.          . Increased the estimated string array size for Exclude,
  268.            Extract, IN, OUT, TSRPre, and TSRPost commands.
  269.  
  270.          . Converted CompressionType literal strings to an
  271.            enumerated type.
  272.  
  273.          . Changed all error message strings that were passed as
  274.            variables to a global routine into an enumerated type.
  275.            This allows automatic compiler validation, and shortened
  276.            the code by over 10K.
  277.  
  278.  
  279. 03-03-94 ■ Version 1.22
  280.  
  281.          . Added 3D effects to query and error screen dialog boxes.
  282.  
  283.          . Added an IOResult check and corresponding error message
  284.            if the ProgramParent directory can not be successfully
  285.            created on a RAM Disk.
  286.  
  287.          . Circumvented a potential problem in the compression and
  288.            decompression routines where a default value for the
  289.            Compression and Decompression Swap parameters was not
  290.            being set.  The compression procedure would issue an
  291.            error message under this circumstance.  Altered the
  292.            code to provide a fail-safe parameter assignment.
  293.  
  294.          . Corrected a problem in the ARJ Decompression procedure
  295.            where the "Default" Decompression Swap parameter was
  296.            not being read.
  297.  
  298.          . Added code to convert the ZIPRPROPath to upper case.
  299.  
  300.          . Removed several "EraseDecompressionSignalFile"
  301.            statements from the beginning of the DecompressZipFile
  302.            procedure.  This file had not yet been created at
  303.            this point in the procedure.
  304.  
  305.          . Corrected a problem where the update option was not
  306.            working properly.  (Broken in 1.22, not released.)
  307.  
  308.          . Fixed a problem where a runtime error 202 would occur
  309.            if the file PKUNZIP.EXE could not be found.  The
  310.            runtime error would be issued prior to displaying the
  311.            error message from ZIPRPRO.  (Increased stack.)
  312.  
  313.          . Added automatic ProgramParent directory creation if
  314.            extracting to a RAM disk.
  315.  
  316.          . Added preliminary support for extraction to a RAM disk.
  317.  
  318.          . Corrected a problem where an error message would be
  319.            issued if the "Program" directory did not exist.  This
  320.            created a problem if a "Program Parent" directory was
  321.            specified, since the program directory might not exist
  322.            under this circumstance.
  323.  
  324.          . Corrected a problem where the .N?? file was not being
  325.            deleted if errors were detected when checking the
  326.            validity of the values in the .INI and .ZIF files.
  327.  
  328.          . Shortened several code segments by using better coding
  329.            techniques.
  330.  
  331.          . Corrected a potential problem where the .SXT signal
  332.            file could be mistakenly deleted by ZIPRPRO.
  333.  
  334.          . Combined the Done and DoneNoSXTDelete routines into a
  335.            common procedure.  Added an enumerated type variable
  336.            to pass to this procedure, informing it of any
  337.            restrictions to observe.
  338.  
  339.  
  340. 02-26-94 ■ Version 1.21
  341.  
  342.          . Corrected minor spacing / carriage return problems on
  343.            dialog box (Query) screens.
  344.  
  345.          . Corrected a potential problem where the /CLEANUP option
  346.            would delete files in the current directory, not the
  347.            ZIPRPRO sub-directory, if launched from a directory
  348.            other than the ZIPRPRO sub-directory.
  349.  
  350.          . Corrected a problem where a runtime error 2 would occur
  351.            in the CreateSubDirectoriesUnderOS2 procedure, because
  352.            an Else statement was omitted.
  353.  
  354.          . Streamlined the code by creating two erase file routines
  355.            to replace the separate erase routines used previously.
  356.  
  357.  
  358. 02-16-94 ■ Version 1.20
  359.  
  360.          . Fixed a major problem where the original .ZIP file
  361.            could be deleted if the executable file could not be
  362.            found and update option was enabled.  (Data loss could
  363.            occur in this situation, especially if Selective
  364.            Extraction or Selective Exclusion was enabled.)
  365.  
  366.          . Added support to erase the *.DFL, *.NFL, *.OFL, and
  367.            *.DIR files when using the /Cleanup option.
  368.  
  369.          . Added support to manually create subdirectories when
  370.            operating under OS/2.  This option will circumvent a
  371.            potential problem where PKUNZIP cannot create sub-
  372.            directories under OS/2.  (This problem has been reported
  373.            to PKWare.)
  374.  
  375.          . Updated IFDEF and IFNDEF statements throughout the code
  376.            to minimize code size for each module.
  377.  
  378.          . Moved several string pointer variables into the INI and
  379.            ZIF record variables.
  380.  
  381.          . Reduced the ARJ and LHA default memory requirements
  382.            to more realistic levels.
  383.  
  384.          . Re-compiled with updated libraries.
  385.  
  386.          . Corrected a problem in the stTV3ChoiceBox procedure
  387.            that caused the box to be too narrow to properly
  388.            center a long header.
  389.  
  390.          . Added support to display the Command Processor and
  391.            ZIP'R Pro Path information in the new style message
  392.            boxes.
  393.  
  394.          . Corrected a problem where the TestFlag boolean was
  395.            not being set early enough in the code to display
  396.            the INI Parameters screen.  (%2 = TEST)
  397.  
  398.          . Added support to display the .INI Parameters in the
  399.            new style message boxes.
  400.  
  401.          . Added all missing .ZPD Parameters to the ZPD Parameter
  402.            display procedure.  Added code to display the first
  403.            10 INCommands, OUTCommands, ExcludeFiles, ExtractFiles,
  404.            TSRPreProgramCommands, and TSRPostProgramCommands.
  405.  
  406.          . Added support to read old style .ZPD files, prior
  407.            to current version.  (Set internal flags if the new
  408.            UseINCommands, UseOUTCommands, UseTSRPreCommands,
  409.            and UseTSRPostCommands variables could not be found
  410.            in the .ZPD file.)
  411.  
  412.          . Added support to display the .ZPD Parameters in the
  413.            new style message boxes.
  414.  
  415.          . Fixed a problem in the stTV3ChoiceBox procedure, that
  416.            caused a system hang if the maximum number of lines
  417.            exceeded the pre-defined limit.
  418.  
  419.          . Added support to read UseINCommands, UseOUTCommands,
  420.            UseTSRPreCommands, and UseTSRPostCommands variables
  421.            from the .ZPD file.
  422.  
  423.  
  424. 01-30-94 ■ Version 1.19a  (Internal Release)
  425.  
  426.          . Corrected a problem where the swap file name was not
  427.            being passed to the swapping exec procedure.  (This
  428.            problem was introduced, in version 1.20, when the
  429.            common exec swapping functions were created.)
  430.  
  431.          . Added support to specify whether EMS memory is to be
  432.            used over XMS memory for the swapping exec procedure.
  433.            The default behavior is to use EMS first, but may be
  434.            overridden.
  435.  
  436.          . Added support to swap to XMS memory during program
  437.            execution, if available.  Previously, only EMS or
  438.            disk was used for the swap file.
  439.  
  440.          . Modified the swapping-related procedure calls to force
  441.            a swap (default) as a fail-safe procedure.
  442.  
  443.          . Modified the WindowedCompression and WindowedDecompression
  444.            procedure calls to automatically force windowed mode
  445.            (default) as a fail-safe procedure.
  446.  
  447.          . Converted all execute calls to use the new procedures.
  448.  
  449.          . Removed the STSI2 unit from the uses clause to prevent
  450.            unnecessary compilation.
  451.  
  452.          . Corrected a problem where the swap file (.SWF extension)
  453.            was not being erased when the /Cleanup option was
  454.            specified.  (This file has the system attribute set.)
  455.  
  456.          . Created common execution functions to reduce code
  457.            size and complexity.
  458.  
  459.          . Corrected a potential problem where the compressed
  460.            file could have been deleted, if an incorrect value
  461.            for CompressionSwap or DecompressionSwap was read from
  462.            the .INI file.
  463.  
  464.          . Converted the internal SortedExtraction variable
  465.            to a Boolean type.
  466.  
  467.          . Corrected a problem where the .INI file was not
  468.            being read prior to checking the cleanup password.
  469.  
  470.          . Changed the behavior of the cleanup password
  471.            procedure to not prompt for a password if the
  472.            password is blank.
  473.  
  474.          . Converted internal WindowedCompression and
  475.            WindowedDecompression variables to Boolean types.
  476.  
  477.          . Reduced the memory requirement default values for
  478.            PKZIP and PKUNZIP.  (New default swapping option will
  479.            be added to the ZIF Editor.)
  480.  
  481.          . Re-worked the .INI and .ZIF read routines to make the
  482.            code faster and more concise.
  483.  
  484.          . Added support for the new INIVersion, ZIFVersion,
  485.            UseDiskForExecSwap, UseEMSForExecSwap, and
  486.            UseXMSForExecSwap parameters.
  487.  
  488.          . Re-arranged the order and placement of passed parameter
  489.            related code, to allow the disposal of unnecessary
  490.            pointer variables.
  491.  
  492.          . Modified dialog box code to allow centering or left
  493.            justification.
  494.  
  495.          . Changed all error messages to be displayed using the
  496.            new style dialog boxes.
  497.  
  498.          . Converted all query screens to the new style.
  499.            Corrected various punctuation problems in the text
  500.            of the new screens.
  501.  
  502.          . Modified cleanup password field to automatically
  503.            convert characters entered to upper case.
  504.  
  505.          . Corrected a problem in the swapping Exec routines
  506.            where the executed program would hang.  (This problem
  507.            was caused by the mouse handler routines not being
  508.            disabled before performing the swap, and was introduced
  509.            in version 1.20.)
  510.  
  511.          . Added password protection for the /Cleanup option.
  512.  
  513.          . Updated prelog screen to show the amount of Heap memory
  514.            available.
  515.  
  516.  
  517. 01-20-94 ■ Version 1.19
  518.  
  519.          . Added additional error messages for new error checking
  520.            procedures, and corrected a typo in a separate error
  521.            message.
  522.  
  523.          . Enhanced the conventional memory available routine to
  524.            provide a more accurate estimate of the amount of
  525.            conventional memory available on the system.  (This
  526.            figure approximates the free memory reported by MEM.)
  527.  
  528.          . Corrected a problem where the logic controlling the
  529.            loading of a command processor was backwards when
  530.            executing a .BAT or .BTM file
  531.  
  532.          . Added a check to force a command processor to be
  533.            loaded if the program to be executed contains a
  534.            .BAT or .BTM extension.
  535.  
  536.          . Added support to execute the desired program without
  537.            loading a command processor first.  This increases
  538.            the memory available to the program by about 3-5K.
  539.  
  540.          . Removed unnecessary "Continue" statements from the
  541.            INI and ZIF file read routines.
  542.  
  543.          . Converted internal string pointer variables to use
  544.            INI and ZIF records.
  545.  
  546.          . Added support in the TSR Container file section to
  547.            use the AlternateEXELaunchDirectory feature.
  548.  
  549.          . Fixed a problem where the "CALL" statement was not
  550.            being placed in front of the program name in the TSR
  551.            Container file if the Parameters field was blank.
  552.  
  553.          . Corrected a potential problem where the current drive
  554.            and directory was not being set prior to executing
  555.            OUT commands.  This could have been a problem if the
  556.            current drive and/or directory was changed during
  557.            program execution, such as when shelling to DOS.
  558.  
  559.          . Added support for an alternate EXE launch directory
  560.            to make it possible to launch a program from a
  561.            directory other than the one in which the executable
  562.            file resides.  (The program does NOT have to be an
  563.            EXE file.)  This feature allows programs, such as
  564.            Microsoft Works, Borland Pascal, and others, to be
  565.            executed from a data subdirectory.
  566.  
  567.          . Added preliminary support for string encryption and
  568.            decryption.
  569.  
  570.  
  571. 01-06-94 ■ Version 1.18
  572.  
  573.          . Improved the Conventional memory estimate on the
  574.            prelog screen to more accurately reflect the amount
  575.            of memory available after swapping.
  576.  
  577.          . Updated the BIOS screens to match the direct-write
  578.            screens.
  579.  
  580.          . Added support for AUTO, DIRECT, and BIOS screen write
  581.            modes.  This should help to solve any screen-related
  582.            compatibility problems that might exist.
  583.  
  584.          . Added video mode detection when using the AUTO screen
  585.            writes option.
  586.  
  587.          . Updated the prelog screen to display the status of the
  588.            Use Atomic Lock Files option.
  589.  
  590.          . Updated the prelog screen to display the Selective
  591.            Extraction (SXT) and Selective Exclusion (SXC) entries
  592.            separately.  (If either option is disabled, the
  593.            corresponding entry count will be 0.)
  594.  
  595.          . Updated the prelog screen to display the status of the
  596.            new Subdirectory Deletion option.
  597.  
  598.          . Added support to NOT delete sub-directories when using
  599.            PKZIP v2.04g.  This switch is necessary when an OS/2
  600.            system is operating on a network in combination with
  601.            other systems.  Due to some sort of conflict, sub-
  602.            directories can not be re-created under OS/2.  (Unsure
  603.            whether this is an OS/2, NetWare Requester, or PKZIP
  604.            caused problem.)  This switch can only be used with
  605.            PKZIP v2.04g.
  606.  
  607.          . Added preliminary support for compression program version
  608.            number tracking.  Future versions of ZIP'R Professional
  609.            may support compression program features that might not
  610.            be available in previous versions of the compression
  611.            program.
  612.  
  613.          . Corrected an alignment problem on the FileCount indicator.
  614.  
  615.          . Added a FileCount / Twirling Bar indicator to the AFSC
  616.            Level 4 screen to display the progress of the file size
  617.            scanning.  (Due to the high scanning speed, this feature
  618.            will be useful only on compressed files with an extremely
  619.            high number of files.)
  620.  
  621.  
  622. 01-01-94 ■ Version 1.17
  623.  
  624.          . Corrected a problem where .SXT signal files were not
  625.            being deleted when the /CLEANUP switch was used.
  626.  
  627.          . Corrected a possible ambiguity in the ExecDOS error
  628.            messages.  (#-5 changed to # -5.)
  629.  
  630.          . Updated the AFSC routines to use integer division, which
  631.            eliminates the extra rounding step needed for reals.
  632.  
  633.          . Corrected a problem in the AFSC Level 4 (ZIP) calculation
  634.            procedure that would cause erroneous calculations.  (The
  635.            file size returned would always be 0.)
  636.  
  637.  
  638. 12-27-93 ■ Version 1.16
  639.  
  640.          . Fixed a problem where an extra hyphen was being prepended
  641.            to the compression command line.
  642.  
  643.          . Added CompressionOptions support to the ARJ and LHA
  644.            compression procedures.  (LHA does not currently support
  645.            this feature.)
  646.  
  647.          . Fixed a problem where the CompressionOptions field in the
  648.            .ZPD file was not being passed to PKZIP.
  649.  
  650.          . Fixed a minor problem where ".ZIP" was hard-coded onto the
  651.            Query For Compression screen.  If ARJ or LHA was being used,
  652.            the screen would still say that the resulting compressed file
  653.            would have a .ZIP extension.
  654.  
  655.          . Added an additional check for PKZIP.EXE before decompressing
  656.            a .ZIP file when using Selective Extraction or Selective
  657.            Exclusion.  This is important, because when these options are
  658.            enabled, the program MUST be re-compressed to preserve all
  659.            data files.
  660.  
  661.          . Fixed a potential problem where the existence of PKZIP.EXE
  662.            was not being verified before deleting files from the
  663.            original .ZIP file.
  664.  
  665.          . Fixed a potential problem where ZIP'R Professional was not
  666.            verifying the existence of PKUNZIP.EXE and PKZIP.EXE before
  667.            attempting to create the temporary file lists.
  668.  
  669.          . Added an additional check to attempt to locate the selected
  670.            compressor on the DOS PATH.  ZIP'R Professional will use the
  671.            path specified in the ZIPRPRO.INI file if the program exists.
  672.            If the program cannot be found, the ZIPRPRO directory is
  673.            searched.  If this search fails, the DOS PATH is searched.
  674.  
  675.  
  676. 12-25-93 ■ Version 1.15
  677.  
  678.          . Cleaned up some internal routines related to cleaning up
  679.            signal files before exiting ZIP'R Professional.
  680.  
  681.          . Changed the .ZPD and .INI file read routines to reduce
  682.            overhead and increase speed.
  683.  
  684.  
  685. 12-22-93 ■ Version 1.14
  686.  
  687.          . Added error reporting to the error trapping sections of
  688.            the IN Command, Program, and OUT Command routines.  If an
  689.            error is detected in any of these routines, ZIP'R Pro will
  690.            report the error and query the user whether to continue.
  691.            The error reporting routines will also report whether the
  692.            error was generated by the command processor (Error Code)
  693.            or by the IN Command, OUT Command, or Program (Exit Code).
  694.  
  695.          . Corrected a problem in the Accurate File Size Calculation
  696.            routines where the selective extraction and exclusion
  697.            entries were still being used, even if the file was being
  698.            decompressed from a floppy disk.
  699.  
  700.          . Fixed a major problem where data loss could occur if the
  701.            compressed file was stored on a floppy diskette, and
  702.            selective extraction or selective exclusion was enabled.
  703.            This is a rather rare combination of options, but since
  704.            data loss is likely, it is prudent to upgrade previous
  705.            versions of ZIP'R Professional For DOS.
  706.  
  707.          . Corrected a problem where the cursor would disappear
  708.            following some query screens.
  709.  
  710.          . Added /CLEANUP option to erase all signal files from the
  711.            ZIPRPRO sub-directory.  This option should be used with
  712.            care to ensure that no other processes are using ZIP'R
  713.            Professional.
  714.  
  715.  
  716. 12-20-93 ■ Version 1.13
  717.  
  718.          . Corrected a problem where a program that is executed
  719.            using a batch file, that also used a TSR container file
  720.            would not return control to ZIP'R Professional for
  721.            re-compression.  The solution was to "CALL" the batch
  722.            file from the TSR container file.
  723.  
  724.          . Corrected a problem where the Decompression Signal File
  725.            might not get deleted under some error situations.
  726.  
  727.          . Completed the transfer of code to common units to allow
  728.            code sharing between different components of the ZIP'R
  729.            Professional series of programs.
  730.  
  731.          . Added conditional defines to allow code sharing between
  732.            ZIP'R Professional For DOS and the ZProcessor component
  733.            of ZIP'R Professional For Windows.
  734.  
  735.          . Isolated a problem creating sub-directories under OS/2
  736.            to the use of "Global" network sessions.  The Novell
  737.            OS/2 requestor handles directory creation differently
  738.            under global or private network sessions.  ZIP'R Pro
  739.            should be used in a private session if sub-directories
  740.            must be re-created.
  741.  
  742.          . Checked into a potential problem with AFSC Level 4 if
  743.            the lines were too long, and wrapped on the screen.
  744.            The function used to handle the string to long integer
  745.            conversion correctly handles this situation, and ignores
  746.            any strings that it can't convert.  No action necessary.
  747.  
  748.  
  749. 12-05-93 ■ Version 1.12
  750.  
  751.          . Added error checking to make sure that compression
  752.            cannot occur to floppy drives unless the compression
  753.            program being used is PKZIP.  (Other compression
  754.            programs do not currently support spanning floppies.)
  755.  
  756.          . Changed the way ZIP'R Professional deals with the
  757.            attributes of a compressed file that resides on a
  758.            floppy diskette.  The attributes of these files
  759.            will not be changed, since we do not know which
  760.            diskette is in the drive, and multiple diskettes
  761.            may be required to store the compressed file.
  762.  
  763.          . Fixed a problem with floppy compression where the
  764.            query for compression floppy diskette was occurring
  765.            too late.  This caused programs to be compressed
  766.            to floppy diskettes properly, but they could not be
  767.            decompressed.  (After further checking, the programs
  768.            could be decompressed, but the prompt for the
  769.            decompression floppy disk was in the wrong position.
  770.            A work-around was to simply make sure that the disk
  771.            was in the drive.)
  772.  
  773.          . Added Compress/Decompress and TSR Entries indicators
  774.            to prelog screen.  Separated Net/Multi to be two
  775.            separate indicators, and added code to detect them
  776.            individually.
  777.  
  778.          . Added a program halt command following the error
  779.            message display if the ZIPRPRO.INI file cannot be
  780.            found.
  781.  
  782.          . Corrected a problem where the .ZIP file was not
  783.            being deleted if Update mode and Compress/Decompress
  784.            only mode were enabled.
  785.  
  786.          . Added code to force a total decompression if
  787.            "Compress/Decompress Only" is enabled.  This will
  788.            prevent problems if all files are not extracted.
  789.  
  790.          . Corrected a problem where the .DSF file was not
  791.            being deleted under various circumstances in the
  792.            decompression module.
  793.  
  794.          . Corrected a potential problem where logging to a
  795.            non-existent program or program parent directory
  796.            was not calling the "Done" procedure.
  797.  
  798.          . Removed unnecessary ZipName pointer variable, and
  799.            replaced with CompressedFileName pointer variable.
  800.  
  801.          . Corrected a problem where the .DSF (Decompression
  802.            Signal File) was not being deleted if an error
  803.            occurred during the CheckSpaceForDecompression
  804.            procedure.  (This problem could manifest itself
  805.            if the compressed file was corrupt.)
  806.  
  807.  
  808. 11-26-93 ■ Version 1.11
  809.  
  810.          . Added error message if Selective Exclusion is enabled,
  811.            but no file specifications have been entered.
  812.  
  813.          . Corrected problems where three delete routines were
  814.            not marking the compressed file with normal attributes,
  815.            generating a run-time error.  (Code 5, File Access
  816.            Denied)  This error would occur when query mode was
  817.            enabled, and the program was not re-compressed.
  818.  
  819.          . Updated random filename generator code in the DECOMP
  820.            procedure to use the new method for generating
  821.            random filename prefixes.
  822.  
  823.          . Added "Selective Exclusion" feature to complement
  824.            Selective Extraction.  Selective Exclusion allows
  825.            certain files or groups of files to be excluded
  826.            from extraction.
  827.  
  828.          . Changed the prelog screen to display the number of
  829.            Selective Extraction files (entries) and the number
  830.            of simultaneous ZIPRPRO licenses.
  831.  
  832.  
  833. 11-21-93 ■ Version 1.10
  834.  
  835.          . Changed the logic in the prelog screen to highlight
  836.            Query Option if Selective Extraction is enabled, but
  837.            the compression type is not ZIP.
  838.  
  839.          . Changed the countdown code on the prelog screen to
  840.            count to 0.
  841.  
  842.          . Added code to mark the compressed file as ReadOnly
  843.            during ZIPRPRO operations.  This should help to
  844.            reduce the chances of accidently deleting the original
  845.            compressed file during update mode (inconvenience) or
  846.            during selective extraction (potential disaster).
  847.  
  848.          . Added code to mark all signal and temporary files
  849.            ReadOnly, to prevent other processes from erasing them.
  850.            Also added code to mark files as normal before attempting
  851.            to delete them.
  852.  
  853.          . Corrected a problem where the atomic lock files were
  854.            not being closed properly after creation.
  855.  
  856.          . Re-worked the token and temporary file creation and
  857.            detection routines to use variable names and file
  858.            extensions that fit their function.
  859.  
  860.          . Moved the code to generate a random filename prefix
  861.            to a separate, common procedure, reducing the
  862.            complexity of the routines that require these names.
  863.  
  864.          . Added error message codes to trap the condition if
  865.            more than one users attempts to access a compressed
  866.            file when Selective Extraction is turned on.
  867.  
  868.          . Fixed a problem where the .TK1 file was being created
  869.            on programs that did not need to be decompressed, and
  870.            the .TK1 file was not being deleted.
  871.  
  872.          . Moved .TK1 and .TK2 file detection and creation to a
  873.            common area of the DecompressZipFile procedure.
  874.  
  875.          . Changed the signal file checking order to accomodate
  876.            the new Selective Extraction .SXT file.
  877.  
  878.          . Fixed a problem where the Selective Extraction .SXT
  879.            signal file was being created in error.  (A non-atomic
  880.            file was being created.)
  881.  
  882.          . Added code to limit access to the compressed file if
  883.            selective extraction is being used by any user.
  884.  
  885.          . Added error message code to trap the condition if
  886.            Selective Extraction is turned on, but no files are
  887.            entered for extraction.
  888.  
  889.          . Corrected a problem where the procedure to calculate
  890.            the space required to decompress the compressed file
  891.            was being executed when the compression type was NONE,
  892.            and no compressed file existed.
  893.  
  894.          . Checked out a potential problem with PKUNZIP erroring
  895.            out if files specified for extraction did not exist.
  896.            It turns out that PKUNZIP simply ignores this type of
  897.            error, eliminating the need to deal with it in ZIPRPRO.
  898.  
  899.          . Added code to disable Query mode if using Selective
  900.            Extraction.  (This is necessary to insure the integrity
  901.            of the original compressed file, and to prevent errors
  902.            when attempting to decompress files a second time.)
  903.  
  904.          . Corrected problems in the CheckSpaceForDecompression
  905.            procedure where an EXIT was being executed before the
  906.            selective extraction container file was generated.
  907.  
  908.          . Revised the code in the CalculateExactFileSize routine
  909.            to base its calculations on the list of files to be
  910.            extracted, if Selective Extraction is enabled.
  911.  
  912.          . Added the more rigid compressed file type checking to
  913.            the internal CalculateExactFileSize, DecompressZipFile,
  914.            and CheckSpaceForDecompression procedures.
  915.  
  916.          . Eliminated the automatic detection of compressed file
  917.            archive types.  Now, the type of compressed file must
  918.            match the compression type specified in the .ZPD file.
  919.            (If users wish to change compression types, they must
  920.            use a compression type of "NONE" for one pass.  Then,
  921.            the file may be re-compressed with the new compressor.)
  922.  
  923.          . Added fail-safe code to the prelog screen procedure
  924.            that will show grayed-out check marks if any options
  925.            have been disabled by ZIP'R Professional.
  926.  
  927.          . Updated prelog screen to show the status of the new
  928.            "Selective Extraction" option.
  929.  
  930.          . Added support for "Selective Extraction" when using
  931.            PKZIP/PKUNZIP.
  932.  
  933.  
  934. 11-15-93 ■ Version 1.00
  935.  
  936.          . Initial release of ZIP'R Professional For DOS.
  937.