zlibnet - c# zlib wrapper library
-compression/decompression streams (DeflateStream, GZipStream, ZLibStream)
-fast, since using the native/unmanaged zlib library/dll
-UTF8 zip entry name/comment
-Unicode zip file name
-Zip64 support (auto detect)
Not supported/zlib limitations:
-multi volume archives
zlibnet is a souped up library based on 2 other libraries, mainly:
The organicbit part (zip/unzip) is left mainly intact, but some bugfixes.
The zlibnetwrapper (stream) was written in managed C++, so it was ported to C#, with some changes.
In addition, I added a wrappers (DynaZip inspired Zipper/UnZipper) around the organicbit part, to simplify zipping/unzipping.
The reason for creating this library was I wanted to migrate from DynaZip but:
-the managed zip implementations I found performed worse than I could live with (the best one I found was over twice as slow as the DynaZip library). This library matches (or outperforms) DynaZip in speed.
-all the zlib wrappers I found was incomplete (had zip/unzip functionality or stream functionality, but not both), buggy or written in managed c++.
If speed is not important for you, you are probably better off using:
Zipper z = new Zipper();
z.ZipFile = @"c:\test\my.zip";
z.PathInZip = enPathInZip.Relative;
z.Recurse = true;
UnZipper uz = new UnZipper();
uz.Destination = @"c:\test\out\";
uz.IfFileExist = enIfFileExist.Exception;
uz.Recurse = true;
uz.ZipFile = @"c:\test\my.zip";