Question regarding API, Performance and Mono support

Question regarding API, Performance and Mono support

I’m testing different Zip libraries to see which on fix our product well. Now I have below questions.
1. I have a list to store the path of files or even empty directories to zip. I found QuickZip.Zip might work for me. The list may contains the path as follows.


I want the paths in the zip file are


However, QickZip’s all overloaded Zip methods don’t provide a parameter to specify the relative path in the final zip file. In stead, the AddEntry or AddFile in SharpZipLib and DotNetZipLib provide that kind of parameter. I’m wondering how to put all the files into a zip file without the root dir1?

2. “Deflate compression method can now use multiple threads for increased compression speed.” I assume this means users don’t bother to write their own multi-threaded code. The Zip library works in a multi-threaded way. DotNetZipLib is working in this way. But after performance testing on Windows, I found Xceed Zip is far behind DotNetZipLib and is also a little behind SharpZipLib. Is this caused by lacking of a official license or actually I should write my own multi-threaded code to improve performance?

3. I need the library working properly on both Windows and Linux. But I found an old post saying the Mono is not officially supported. When I started my application on a Redhat Linux 6.5 machine, I found the assembly of Xceed could not be loaded.

Looking forward to the answers and many thanks in advance.