Zip library options for the Compact Framework

compact-frameworkcomponentswindows-mobilezip

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?

Best Answer

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