Re: best Zip component or library

Giganews Newsgroups
Subject: Re: best Zip component or library
Posted by:  Craig Peterson (cra…@scootersoftware.com)
Date: Mon, 16 Jan 2012

On 1/14/2012 3:16 PM, William Meyer wrote:
> What is the best Zip component out there for Delphi?

It depends on your what qualities you're using to define "best". :)
Disclaimer: I'm the Abbrevia admin, I've used TSevenZipVCL and ZipForge,
I've used other products from Eldos (ZipBlackBox), and I've studied the
JclCompression, SynZip, System.Zip.pas implementations.  I don't have
any experience with ZipMaster or ZipTV.

Here's the basic facts for all the ones I know of, and I've included
some criteria to help you decide between them at the bottom.

Abbrevia
http://tpabbrevia.sourceforge.net/
Mostly Pascal, with C .obj for zipx decompression (no redistributables).
Win32/Win64/OS X/Linux (Delphi, Free Pascal, Kylix).  Open source.
Supports Zip64, .tar, .gz, .bz2, .cab.  Also includes treeview/listview
components.

JclCompression.pas (JEDI Code Library)
http://sourceforge.net/projects/jcl/
Wraps 7-zip's 7za.dll.  Win32 (and Win64?) only.  Open source.  Supports
many archive formats, including .7z and .rar.  Supports Zip64 and AES
strong encryption.

SynZip
http://synopse.info/forum/viewtopic.php?pid=163
Pure Pascal and x86 assembly.  Win32 only.  Open source.  Fast.  Zip-only.

System.Zip.pas
Included with Delphi XE2.  Pure Pascal, Win32/Win64/OS X.  Fairly
limited implementation of basic zip format.

TSevenZipVCL
http://www.rg-software.de/rg/index.php?option=com_content&id=29
Wraps 7-zip's 7za.dll.  Win32 only,  Open source.  Similar to
JclCompression.pas, but doesn't work with latest DLLs.

ZipBlackBox
http://eldos.com/sbb/desc-zip.php
Pure Pascal.  Commercial.  Supports Zip64 and AES strong encryption.
Excellent technical support.  Win32/Win64, partial OS X.

ZipForge
http://componentace.com/zip_component_zip_delphi_zipforge.htm
Pure Pascal.  Commercial.  Supports Zip64 and AES strong encryption.
Win32 only.

ZipMaster
http://www.delphizip.org/
Wraps Info-Zip's C dll.  Win32 only, open source.  Similar idea to
JclCompression, but only supports zip archives.

ZipTV
http://www.ziptv.com/
Mostly Pascal, with C DLLs for some archive formats (.rar, .ace, .cab,
..7z).  Win32 only.  Commercial.  Supports lots of different archive
formats and compression methods.

If you only need to create or extract basic zip files, and you have
Delphi XE2, System.Zip.pas is probably the best place to start.

If you want to support other archive formats in addition to zip (.tar,
..gz, .bz2, .cab), you can choose between Abbrevia, JclCompression, and
ZipTV.  JclCompression and ZipTV also support .7z, .arj, .arc, .rar, and
a bunch of other niche formats.

If you need Win64 or OS X support use Abbrevia, ZipBlackBox, or
System.Zip.pas.

If you need good documentation and example projects, use Abbrevia,
ZipBlackBox, ZipForge, or ZipTV.

If you need Zip64 support (archives larger than 2GB), use Abbrevia,
JclCompression, ZipForge, ZipMaster, or ZipTV.

If you need AES encryption, use JclCompression, ZipBlackBox, ZipForge,
or ZipTV.

If you want to decompress .zipx archives, use Abbrevia, JclCompression,
or ZipTV.  If you want to create them use JclCompression or ZipTV.  None
of the three support WinZip's JPEG compression.

If you want unit tests, use Abbrevia.

If speed is paramount, SynZip's compression/decompression are optimized asm.

If commercial support is important, use ZipBlackBox, ZipForge, or ZipTV.

Info-Zip's C DLL has probably been vetted the best for security, but I
don't know how that would relate to ZipMaster's use of it and their own
customizations.

--
Craig Peterson
Scooter Software

Replies

In response to

best Zip component or library posted by William Meyer on Sat, 14 Jan 2012