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.)
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).
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.
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.
$ 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.
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.
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.
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.
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.)
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.
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.
Copyright © 1995-1997 Greg Roelofs.