[Info-ZIP]


Frequently Asked Questions


  1. How do I get UnZip (or Zip)?

    Short answer: ftp://ftp.cdrom.com/pub/infozip/ : either cd into an appropriate subdirectory and grab an appropriate executable distribution, or else get the source code from the src subdirectory and compile your own.

    Long answer: do something similar to the following. This is for a Unix-like, text-mode ftp client, but others will work similarly. (The stuff after "//" is comments; don't type any of it. This example assumes you want UnZip for a Windows 95 or NT system, but the procedure is similar for other systems.)

    
    ftp ftp.cdrom.com      // run the ftp program and connect to Walnut Creek
    
    anonymous              // username for anonftp
    
    you@your.email.addr    // use your real e-mail address for password
    
    cd /pub/infozip        // change into the Info-ZIP subdirectory
    
    dir                    // list the contents of the subdirectory
    
    cd WIN32               // change into the WIN32 subdirectory
    
    dir                    // list the contents of the subdirectory
    
    bin                    // set transfer mode to binary (IMPORTANT!)
    
    get unz531xN.exe       // get self-extracting Win95/NT UnZip 5.31 archive
    
    quit                   // quit the ftp program
    
                

    [Download unz531xN.exe in binary mode to your Win95/NT system if necessary.]

    Remember: if the file size of the downloaded archive isn't EXACTLY the same as the size listed on the original ftp site with the "dir" command, you did something wrong. It is probably corrupted in that case. (Yes, this is a little harder to check via WWW since the size is usually given in KB or MB, but our README file in the same directory lists exact byte sizes. Also, most browsers automatically download in binary mode, so it shouldn't be a problem with them.)


  2. How do I use UnZip?

    For self-extracting archives such as the one used in the example above, simply copy or move it into the directory of your choice, cd into that directory and run the self-extracting archive:

    
    unz531xN            // extract contents of unz531xN.exe
    
                        //  archive to the current directory
    
                

    This can be done either from a command-line prompt or via a "Run This" menu item (e.g., in Windows). If the archive doesn't run, either you don't have enough memory available (try exiting to plain DOS if running a graphical shell) or you didn't download the archive properly (see FAQ #1).

    After successful extraction, read the enclosed unzip.doc file for explicit directions on using the newly extracted unzip.exe program. Then use it! For example:

    
    unzip -t foo.zip    // test the archive `foo.zip' (see
    
                        //  unzip.doc for other examples)
    
                

    Note that currently all but three ports are command-line only! The three exceptions are the Macintosh port (MacUnZip), the Windows 3.x/95/NT port (WizUnZip, soon to be integrated with Zip and renamed WiZ), and the Windows CE/NT port (Pocket UnZip).


  3. Do you support multi-volume archives? How do I extract one?

    Alas, we're really slow and still don't support the creation of multi-volume (or multi-disk) archives. After the UnZip 5.3 and Zip 2.2 releases, that's at the top of the to-do list. Look for UnZip 6.0 and Zip 3.0 sometime in 1997.

    Extraction is currently supported, however, albeit in a crude manner. First concatenate all of the pieces together (in order!), using whatever command is appropriate for your system:

    
    copy/b part1.zip+part2.zip+etc.zip monster.zip   // under DOS, OS/2 or Win*
    
    cat part1.zip part2.zip etc.zip > monster.zip    // under Unix
    
                

    Then use Zip's ``zipfix'' option to patch up the big archive (optionally get rid of all of the little pieces first if you're short on disk space):

    
    zip -F monster.zip       // fix up the concatenated archive
    
                

    The archive is now a large but perfectly ordinary zipfile; extract, test or list its contents just like you normally would.


  4. Can I use the Zip or UnZip source code or executables in my commercial product?

    Yes, with some fairly benign restrictions. See the COPYING file within all official UnZip distributions (both source and executable) or the README file in official Zip distributions. If those don't answer your questions, ask the authors at: Zip-Bugs@lists.wku.edu


  5. Why are encrypting versions of Zip not distributed from your main site?

    The encryption key in Zip is 96 bits long, which requires an export license to export from the US, even though the encryption code is imported into the US in the first place. We don't have one. Ergo, no encryption binaries on US sites.

    Note, however, that the encryption scheme used in all versions of Zip (including PKWARE's products) is quite weak; see ``A Known-Plaintext Attack on the PKZIP Stream Cipher'' (also as gzip'd PostScript) by Eli Biham and Paul C. Kocher.


  6. Why does my VMS UnZip say ``too many parameters'' and do nothing but print the usage screen for me?

    UnZip (and Zip, and all of the other Info-ZIP utilities) must be set up as a VMS foreign command, as noted in the README.VMS file included with our VMS distributions. Add some lines similar to the following to your LOGIN.COM file:

    
    $ unzip == "$disk:[dir]unzip.exe"
    
    $ zipinfo == "$disk:[dir]unzip.exe ""-Z"""
    
                

    ...where "disk" and "dir" refer to the true disk and directory where unzip.exe is located. The "$" before the disk name is important; i.e., don't delete it. All of the quotes in the ZipInfo line are necessary, too, so don't delete any of them, either.

    Finally, run UnZip just as on any other system (see FAQ #2). Do not type ``run'' before the command.


  7. Where can I get MVS executables?

    You have two options. If you have a C compiler, you can grab the official release sources from ftp://ftp.cdrom.com/pub/infozip/src/ as above, unpack them on some other system, translate to EBCDIC, transfer to your MVS box, and compile. This hasn't been tested, but the VM/CMS port is very similar and works fine. With luck we'll have pre-compiled versions soon, but no promises.

    Your alternative is to grab the old beta executables from here (or via ftp) and try those. We don't know much about them, but at least they're already compiled.


  8. How do I extract Windows 95 long filenames (VFAT) under plain DOS? It works fine in a Win95 DOS window, but I want to be able to restore a backed-up Win95 system from scratch.

    You're hosed. Info-ZIP's utilities use the normal C library functions to read and write files; those functions, in turn, depend on the operating system to provide file-system support. Plain DOS, even the DOS 7.0 at the heart of Windows 95, does not support the VFAT file system. And writing very low-level, OS-dependent code to support one system violates Info-ZIP's goal of maximal portability (even if most of the necessary code is already freely available in Linux and elsewhere).

    So while Info-ZIP's Win32 versions do support long filenames in Win95 DOS boxes, they don't even run under plain DOS. And the DOS versions don't support long filenames at all. (Well, that's not entirely true: if UnZip is compiled with the free djgpp 2.x compiler, it will support long filenames under Windows 95 or short filenames under plain DOS. The currently available 32-bit executable in unz531x3.exe was compiled with djgpp 2.x.)

    Your best bet is to hope that someone writes (or maybe has already written) a VFAT device driver for DOS, similar to the OS/2 HPFS device drivers already available for DOS (e.g., HPFS-Access, Amos, etc.). If you hear about such a thing, let us know and we'll provide pointers and, if possible, test our code with it. In the meantime, Duncan Murdoch's DOSLFNBK and LFNSORT utilities may prove useful.


  9. How do I make the Win32 version (Win95 or NT) of Zip 2.1 recurse through subdirectories and archive only files matching a certain pattern? The documented method doesn't work.

    Yup, this is a bug either in the Win32 port of Zip 2.1 or in the compiler that was used to create the binary. The documented way is this:

    
    zip -r foo.zip . -i *.exe   // doesn't recurse as expected under Windows 95, NT
    
                

    This is what actually works:

    
    zip -r foo.zip * -i *.exe   // recursively archive all *.exe files
    
                

    This bug will be fixed in Zip 2.2, coming soon! Sorry for the inconvenience.


  10. Why do files with extended attributes get extracted under OS/2 with the current time while all other files retain their original timestamps as expected?

    Two reasons:

    This is a known bug with HPFS386-based network drives (LAN Server 4.0 or Warp Server), and IBM has not provided a patch. UnZip 5.2 and later have a work-around for the problem, however. (Note that the same bug will affect any program that uses the DosSetPathInfo() call.)


  11. Can I use the Windows DLLs with Visual BASIC?

    Not with the publicly available DLLs, but the coming 5.32 release will have VB support and some example files. The coming Zip 2.2 release should have VB support as well, although the code hasn't been tested yet.


  12. How do I make a DOS (or other non-native) self-extracting archive under Unix?

    The procedure is basically described in the UnZipSFX man page. First grab the appropriate UnZip binary distribution for your target platform (DOS, Windows, OS/2, etc.), as described above; we'll assume DOS in the following example. Then extract the UnZipSFX stub from the distribution and prepend as if it were a native Unix stub:

    
    unzip unz531x.exe unzipsfx.exe                 // extract the DOS SFX stub
    
    cat unzipsfx.exe yourzip.zip > yourDOSzip.exe  // create the SFX archive
    
    zip -A yourDOSzip.exe                          // fix up internal offsets
    
                

    That's it. You can still test, update and delete entries from the archive; it's a fully functional zipfile. Note that Zip versions prior to 2.2 will emit a warning about a ``preamble of xxx bytes.'' This can be ignored.


  13. Are there any plans to port Zip to the Macintosh?

    Not at this time, sorry. The guy who did the current UnZip port, Antoine Verheijen, is too busy to port Zip to the Mac. Alternatives include Thomas Brown's ZipIt and Aladdin Systems' StuffIt Deluxe. A pointer to the former can be found on our More Stuff page.


  14. Can I expect any problems when 1999 rolls over to 2000?

    It depends a bit on how you use Zip and UnZip, but by and large there shouldn't be any problems. UnZip displays only two digits of the year when listing files (in most formats), so if you take that output and sort on the year field, it will fail. Internally it uses DOS-format dates by default (no problems until 2108; i.e., 128 years after 1 January 1980) and Unix-format dates where available (no problems until almost the end of 2037, when 232 seconds will have elapsed since 1 January 1970). You also have the option of displaying dates in yyyymmdd.hhmmss format (unzip -ZT) for sorting, if you wish.

    Zip currently has a -t option that doesn't appear to have been Y2K-ized yet, but that seems to be the only problem and should be fixed when version 2.2 is released.

    Note that it's possible that some PC-based C compilers or libraries have Y2K bugs in them that would affect Zip and UnZip. The Info-ZIP group has not explicitly tested any compilers for such problems.


  15. Your web page says Jet Propeller Laboratory! That's wrong!

    Yes, Sherlock, we know. It's intentional. It's humor. Ar ar. Now go away.


[Info-ZIP] Return to the Info-ZIP Home Page.


Please send non-HTML-related comments and questions to Zip-Bugs@lists.wku.edu .
Last updated 11 September 1997. Maintained by Greg Roelofs (newt@pobox.com).

Copyright © 1995-1997 Greg Roelofs.