When comparing the 4.x versions of the library to 3.x versions, you'll notice that every aspect of the library has been completely revised. That includes the programming interface, core compression engine, features, flexibility and this documentation. To be more precise, the v4.x series is a completely different library altogether. As for features, version 4.1 offers the following new capabilities that were not available in the v3.5 revision of the library:
Brand new zip and unzip compression engine that uses very little memory and runs faster.
The entire library was written with multi-threading in mind, and is designed to efficiently run multiple zipping and unzipping operations simultaneously.
The library now consist of a single, fully self-contained COM object and ActiveX control. For those of you who care about these things, it was written with ATL 3.0 in Visual C++ 6.0, fully beta tested and processed with, among other tools, Numega's BoundsChecker (for memory and resource leaks and API calling accuracy), TrueCoverage (to make sure every line of code has been tested) and TrueTime for optimization.
The library's single DLL can also be accessed as a standard 32-bit DLL through it's exported API.
Requires no external DLLs. No MFC.
Both single threaded (STA) and multi-threaded apartment (MTA) model.
Instantiate the control dynamically without putting it on a form.
Supports multiple instances running simultaneously.
Both UNICODE and ANSI supported in the same control
Detects when running on Windows NT and uses UNICODE API calls for faster operation
ActiveX control interface has all constants, enumerations and types built-in. Code completion, property categories, help strings and context-sensitive F1-help fully supported.
Stores/Retrieves NT file attributes and security permissions in the zip file.
Powerful, flexible file to memory and memory to file zipping/unzipping with streaming support.
Memory-only compression with streaming and encryption.
Create multi-part zip files directly to hard drive.
Process or exclude files based on file attributes, sizes, version resource and dates. Create your own custom include/exclude filters.
File previewing - find out exactly which files will match your wildcards before you start zipping or unzipping. Get statistics on these files too.
Obtain compressed sizes before starting the zipping operation.
No need to repair corrupted zip files. Xceed Zip automatically tries to recover, and reports any inconsistencies found in the zip file while unzipping.
Automatic disk spanning. No need to set a property indicating what kind of zip file you'll be unzipping.
Works with all 32-bit development environments that can use ActiveX controls, including VB, VC++, Delphi, C++ Builder, VFP, Office, PB, VO, Web scripting languages, ASP and DCOM projects.
No more license key files required for the registered version.
Function that returns a textual description of error codes, warnings and skipping reasons.