Zip library options for the Compact Framework?

Brian Lyttle picture Brian Lyttle · Aug 10, 2008 · Viewed 7.3k times · Source

My requirements:

  • Support .NET Compact Framework 2.0 and Windows Mobile 6.0 devices.
  • Only need to unzip the contents to a directory on a storage card. Creation of zip files is not required.
  • Must be able to use in corporate/commercial software.
  • Can be open source, but not have GPL or other viral license.

I've seen the Xceed Zip for CF library. What other options are there?

Answer

Cheeso picture Cheeso · Dec 23, 2008

As of v1.7, the DotNetZip distribution now includes a version built specifically for the .NET Compact Framework, either v2.0 or v3.5. http://www.codeplex.com/DotNetZip/Release/ProjectReleases.aspx. It is about ~70k DLL. It does zip, unzip, zip editing, passwords, ZIP64, unicode, streams, and more.

DotNetZip is 100% managed code, open source, and free/gratis to use. It's also very simple and easy.

  try
  {
      using (var zip1 = Ionic.Zip.ZipFile.Read(zipToUnpack))
      {
          foreach (var entry in zip1)
          {
              entry.Extract(dir, ExtractExistingFileAction.OverwriteSilently);
          }
      }
  }
  catch (Exception ex)
  {
      MessageBox.Show("Exception! " + ex);
  }

There's a sample app included in the source distribution that unzips to a storage card.

CF-Unzipper app http://www.freeimagehosting.net/uploads/ce5ad6a964.png