

This file contains some answers to frequently asked questions about

PKZIP 2.0, and hints for most efficient use of the software.





Q:  Is PKZIP and PKUNZIP completely compatible with older versions?



A:  PKZIP and PKUNZIP are completely downwardly compatible, but not

    upwardly.  What does this mean?  This means that if you compress

    something with PKZIP 2.0, you will need PKUNZIP 2.0 or later to

    extract it.  However, PKUNZIP 2.0 will uncompress any .ZIP file

    made by any version of PKZIP 2.0 or earlier.  Therefore, If you

    have the latest version of PKUNZIP, you need not worry about not

    being able to decompress any .ZIP file.





Q:  I get "Warning, I don't know how to handle" when trying to extract

    files.



A:  Most likely you are using PKUNZIP 1.1 or an earlier version to

    attempt to extract a .ZIP file created by PKZIP 2.0 or later.

    Make sure that you are using the latest version of PKUNZIP. Also

    be sure you do not have multiple copies of pkunzip in different

    areas on your machine. It may find and use an older version before 

    it finds the newer version.





Q:  How do I make self-extracting files?



A:  This is a two step process.  First create a .ZIP file normally

    with PKZIP, and then use ZIP2EXE to create a self extracting

    .EXE file.  For example, if you have a .ZIP file called STUFF.ZIP

    and then entered:

    

      zip2exe stuff

      

    it would create STUFF.EXE which is a PKSFX self-extracting file.





Q:  I get "Bad command or File name" when I type in PKZIP or PKUNZIP.



A:  This is a DOS error message, and means that PKZIP/PKUNZIP is

    not in the current directory, or locatable by the DOS PATH

    variable.  Consult your DOS manual for use of the PATH statement.





Q:  I get "Error in zip, use pkzipfix", when attempting to compress

    files.



A:  This may be the result of an incorrect command line.  The name of

    the .ZIP file you are creating needs to be BEFORE the names of the

    file you want to compress.  For example, if you want to compress

    FILE1 and FILE2 into STUFF.ZIP, use:

    

      pkzip stuff file1 file2

    

    and not:

    

      pkzip file1 file2 stuff

   





Q:  How can I use PKZIP to create full and incremental backups?



A:  When creating a full backup with PKZIP, use the -a+ option.

    This will turn off the file's archive bit after it is compressed.

    For example:



      C:\> pkzip a:fullback -&s -a+



    will backup the entire C: drive to a multi-disk .ZIP file called 

    FULLBACK.ZIP on the A: drive.



    Then, whenever a file is updated or created by DOS, it will turn

    on the file's archive bit, indicating that the file has changed

    since it was last backed up.  You can create an incremental backup

    set with PKZIP by using the -i switch to only compress files that

    have their archive bit set, and turn off the archive bit after it

    is compressed.  For example:



      C:\> pkzip a:incback1 -&s -i



    will backup all the files on drive C: that are new or have been

    modified since the last backup was performed.





Q:  What is an AV?



A:  The Authenticity Verification feature allows you to create .ZIP

    files that PKUNZIP or PKSFX can test for authenticity while

    extracting.  This provides for detection of tampered, hacked, or

    virus infected files.





Q:  How do I use my AV?  Where is my AV?



A:  The first thing you need to do is fill out AUTHVERI.FRM included

    in the PKZIP distribution package with the necessary information

    and mail or FAX this to PKWARE.  We will then process your

    information and send you back the information needed to use with

    the PUTAV to install your AV information.  AV numbers are not the

    same as your serial number on the diskette.





Q:  I ran PUTAV.EXE on the new PKZIP but it did not work, Why?



A:  First of all, you need to make sure that you are using the

    PUTAV.EXE from the registered 2.0 version.  You can not use

    the PUTAV.EXE from 1.1, to try and install the AV numbers into

    version 2.0 of PKZIP.  The AV process has changed and you need to

    use the PUTAV.EXE from version 2.0.  Also, PUTAV.EXE will not work

    with the shareware version of PKZIP.EXE, you need to have the

    registered PKZIP.EXE file.





Q:  I extracted a .ZIP file, but it didn't recreate the directory

    structure stored in the .ZIP file.



A:  First make sure the files were compressed using the -rp option

    in PKZIP.  Next, be sure you use the PKUNZIP option -d when 

    extracting files.  The -d option tells PKUNZIP to re-create stored

    directories on extraction.





Q:  I lost the last diskette, or have errors on the last diskette

    in my backup set; or lost or have problems with one or more other

    diskettes in my backup set; or I hit Ctrl C and aborted PKZIP

    while I was creating the backup set.  How can I recover the files

    that are still intact in the backup set?



A:  PKZIPFIX can be used to restore the .ZIP file index after

    the .ZIP files on each diskette have been concatenated into one

    .ZIP file.  Starting with the lowest number backup diskette

    (normally disk #001, PKZIP places the volume label PKBACK# nnn

    onto each disk, where nnn is the disk number), copy this file

    to your hard disk (or network disk).  For example, say the .ZIP

    filename for the backup set is BACK1.ZIP, on drive B:.  Enter:



      copy b:back1.zip



    Then, insert each diskette in ascending numerical order and enter:



      copy/b back1.zip+b:back1.zip



    After you have gone through the all the disks in the backup set,

    then use PKZIPFIX on this file by entering:



      pkzipfix back1



    This will create the file PKFIXED.ZIP which can then be extracted 

    by PKUNZIP.  Any files that were on missing or damaged diskettes 

    will most likely have errors, but any files that were wholly 

    contained on intact diskettes should be extractable.  This 

    procedure will also work on a subset of the backup set, if for 

    example, you only wanted to recover the files on disks 10 through 15.





Q:  When is it valid to use a '-' or '+' switch at the end of a option?



A:  With PKZIP and PKUNZIP certain options may be followed by a

    trailing - or + to modify the original option.  The basic rule to

    follow in knowing whether a - or + will effect the original option

    is, if the option can be modified in the PKZIP.CFG file, then

    a - or + will effect it.



    Below is a list of options that can be affected by a trailing '-'

    symbol.  As always consult your manual for more information about

    individual switches.





	       OPTION           MEANING

	       ------           -------

		-i-             Do not clear the archive attribute

		-k-             Override ZIPDATE=KEEP in pkzip.cfg

		-m-             Do not remove directories after compression

		-o-             Override ZIPDATE=LATEST in pkzip.cfg

		-p-             Override PATHS=ALL or PATHS=RECURSE

		-q-             Override ANSI=ENABLED

		-r-             Override RECURSE=ON

		-(-             Override SLOWMEMCPY=ON

		-&f-            Override FORMAT=ON

		-&l-            Override BACKUP=LOW

		-&s-            Override BACKUP=FULL

		-&u-            Override BACKUP=UNCONDITIONAL

		-&v-            Override BACKUP=VERIFY

		-&w-            Override BACKUP=WIPE

		-&-             Turns off all BACKUP= options





    Here is a list of the options that can be modified by a trailing

    '+' symbol.





	       OPTION           MEANING

	       ------           -------

		-a+             Clear archive attributes for files archived

		-3+             Override 386=DISABLE

		-++             Override EMS=DISABLE

		--+             Override XMS=DISABLE

		-~+             Override NETWORK=DISABLE

		-)+             Override DPMI=DISABLE (also in PKUNZIP)





Q:  What is the difference between the PKZIP option -b and 

    the PKTMP= environment variable?



A:  PKZIP creates two different types of temporary files, and allows

    you to specify the location the location of these two types

    separately.  The two situations where PKZIP creates temp files

    are:



      *  When a file is being compressed by PKZIP

      *  When an existing .ZIP file is being modified



    When PKZIP is in the process of compressing a file, it might

    need to create a temporary file to store information that does

    not fit in memory.  PKZIP will create these temporary files

    in the directory pointed to by the PKTMP= environment variable,

    or in the current directory if this variable is not present.

    For example, the command:

    

      set pktmp=d:\

    

    will tell PKZIP to create these temporary files on the D:\ drive.

    In general, you can get the best performance from PKZIP by having

    PKTMP= point to a RAM disk or very fast disk in your system,

    unless you are creating or updating a .ZIP file on a Novell network

    drive (see the question regarding Netware support earlier in this

    document).



    When PKZIP updates an existing .ZIP file, it creates a new 

    temporary .ZIP file and copies files from the existing .ZIP file 

    or (re)compresses files into this new file.  If the PKZIP process 

    were to be interrupted in any way, the original .ZIP file is still 

    intact.

    

    Once the new .ZIP file is created, PKZIP deletes the old .ZIP file 

    and renames the new temporary .ZIP file to the original name.  

    This however requires that at least twice the size of the original 

    .ZIP file be free on the drive where the .ZIP file is.  If say you 

    had a 400K .ZIP file on a 720K diskette, you will get an 

    "insufficient disk space" error when trying to modify this .ZIP 

    file, even if you only wanted to add one small file.  The -b 

    option tells PKZIP to create the new temporary on a drive 

    different from where the original .ZIP file is located, and then 

    copy the new .ZIP file to the destination drive when done.  For 

    example:

    

      pkzip b:stuff *.bat -bc:

      

    Tells PKZIP to add the files *.BAT to the file B:STUFF.ZIP, and 

    create the new temporary .ZIP file on drive C:.  Using the -b 

    option slows down PKZIP, but allows you to update .ZIP files that 

    are larger than the available free space on a disk.





Q:  PKZIP/PKUNZIP 2.0 have several options for DPMI, EMS, XMS, 386,

    NETWARE, etc.  What are these things and why does PKZIP/PKUNZIP

    use them?



A:  DPMI stands for DOS Protected Mode Interface.  It is a facility

    that allows standard DOS programs to execute code in 32-bit

    protected mode, and have access to protected mode resources in

    the computer.  Protected mode code runs faster than corresponding

    real mode code.  PKZIP/PKUNZIP use DPMI to execute some code in

    protected mode for better speed.  With DPMI, PKZIP/PKUNZIP can run

    up to 25% faster or more using 32-bit protected mode code versus

    using 16-bit real mode code.



    EMS and XMS stand for Expanded Memory Specification and eXtended

    Memory Specification respectively.  These are implemented using a

    memory manager on an 80386 or 80486 CPU, or using memory management

    hardware on an 8088 or 80286 system.  EMS and XMS allows standard

    DOS programs to use memory outside of the conventional 640K memory

    space.  PKZIP/PKUNZIP will use this memory in order to allow the

    software to run in less conventional memory.  This is most useful

    when shelling out of other applications to run PKZIP or PKUNZIP

    and there is very little conventional memory free.



    PKZIP and PKUNZIP support 80386 and 80486 CPU's and has special

    code that takes advantages of these chips.  This code runs

    fastest in protected mode with DPMI (see above).  However, even

    when running in real mode PKZIP/PKUNZIP will use 32-bit code for

    better speed.  Using 32-bit code can allow PKZIP/PKUNZIP to run

    up to 10% faster or more compared to executing 16-bit code.



    PKZIP also is Novell Netware aware.  When creating or updating

    .ZIP files on a network drive, use of Novell functions can make

    PKZIP run several times faster than it would otherwise.  To get

    maximum performance when creating or updating a .ZIP file on

    a network drive, make sure that the PKTMP= environment variable

    points to a drive in the same server as the .ZIP file; or if you

    do not have the PKTMP= environment variable set, that the current

    directory is on a drive that is in the same server as the .ZIP file.





Q:  My PKZIP says it detects certain versions of DPMI, EMS, or XMS

    that are different than the version numbers for my memory manager

    or driver.  Why is this?



A:  There is a difference between the version number of a driver and 

    the version of the DPMI/EMS/XMS specification that it supports. 

    For example, QEMM version 6.02 supports version 3.00 of the XMS 

    specification and version 4.00 of the EMS specification.  QDPMI 

    version 1.01 supports version 0.90 of the DPMI specification. The 

    version of the specification supported affects what functions that 

    driver will support.  PKZIP/PKUNZIP display the version of the 

    specification supported, not the version of the memory manager or 

    driver that provides this support.





Q:  PKZIP/PKUNZIP display different DPMI/EMS/XMS versions when in

    Windows than outside of Windows.  Why is this?



A:  Windows provides its own support of DPMI, EMS and XMS, regardless

    of any memory managers or drivers loaded prior to running Windows.

    The specification versions supported by Windows may be different

    than those supported by memory managers or device drivers loaded

    prior to Windows, and hence PKZIP/PKUNZIP will display different

    specification versions inside of Windows than in DOS.



