Xceed Zip for COM/ActiveX on x86/x64 Documentation
Introduction / Features of Xceed Zip Compression Library
In This Topic
    Features of Xceed Zip Compression Library
    In This Topic

    ActiveX technology

    • A single fully self-contained COM object and ActiveX control written with ATL 3.0.

    • Requires no external compression DLLs, MFC DLLs or runtime libraries.

    • Both single-threaded (STA) and multi-threaded apartment (MTA) model design.
    • Instantiate the component dynamically without putting it on a form.

    • Supports multiple instances running simultaneously.

    • Supports both Unicode and Ansi in one single control. The library automatically uses Unicode API calls for best performance when running on Windows NT, 2000 and XP.

    • ActiveX control interface has all constants, enumerations and types built-in. Code completion, property categories, help strings and context-sensitive F1-help fully supported.

    • 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.

    • Native 32-bit and 64-bit (AMD64/EM64T and Itanium) versions available.

    • Also compatible with VB.NET and C#. For developers that require 100% managed code, check out Xceed Zip for .NET, our fully object-oriented Zip, Compression and FileSystem class library.

    Compression & Zip file technology

    • AES encryption support. (New in version 6.0)

    • Fast, low memory usage compression engine.

    • Speed improvements of 25%-75% in certain contexts.

    • 100% compatible with the existing PKZip 2.04g format.

    • 100% compatible with the new PKZIP 4.5 format.

    • Supports the Zip64 zip file format allowing the creation of Zip files of practically unlimited size (no more 4 GB limit).

    • Supports the BZip2 (BWT) compression method for 15 to 20% better compression than Deflate on many popular file types, especially XML data.

    • Supports the Deflate64TM compression method, an industry standard improvement to regular Deflate.

    • The only library to provide WinZip 12 compatibility, supporting the LZMA algorithm for improved compression in certain situations. Note: Zip files using WinZip 12’s special JPEG recompression feature are not supported. (New in version 6.5)

    • UTF-8 character encoding is available in headers for improved support of international characters in filenames and comments. (New in version 6.5)

    • Zip files can contain any number of files (no more 65535 file limit).

    • Regular, spanned and self-extracting zip files created by Xceed Zip can be used by any of today's existing unzipping applications, and vice-versa.

    • Stores and retrieves the latest zip file format extensions, allowing Unicode file names and NT file attributes, extra time stamps and security permissions to be stored in the zip file.

    • No need to repair corrupted zip files. Xceed Zip automatically tries to recover from errors and reports any inconsistencies found in the zip file while unzipping.

    Major operations

    • Zip files or memory buffers into new or existing zip files.

    • Unzip files to disk or directly to memory.

    • Compress and decompress strings or buffers completely in memory.

    • All compression and decompression modes support streaming and encryption.

    • Create fully customized self-extracting zip files with the optional Self-Extractor Module.

    • Convert any type of zip file (regular, spanned, multi-part, self-extracting or spanned self-extracting) into any other type of zip file.

    • Reads and writes zip files that span multiple disks.

    • Reads and writes multi-part zip files directly to hard drive.

    • Update one zip file from another one's contents or merge two zip files together.

    • Optional background processing so your code can continue execution while Xceed Zip is working.

    Application-component interactivity

    • All operations can be aborted at any time.

    • Provides status report events on a file-by-file basis as well as on the entire operation being performed, with percentages, byte and file counts. Easily add any kind of progress bar to your apps.

    • Events are triggered whenever a file is being zipped, unzipped, updated, deleted, etc.

    • Notifies your application when and why a specific file cannot be processed.

    • Notifies your application when a file being zipped or unzipped is about to overwrite an existing file. Your application can then choose to overwrite it or skip it. You can also rename files.

    • Provides complete file information for the current file being processed.

    • Your application receives info such as a file's achieved compression ratio, compressed size and other info as it becomes available.

    • Informs your application that it should prompt the user to insert a specific disk reading or writing zip files that span multiple disks.

    • Many events have modifiable parameters to allow your application to change file parameters or specifications as the files are being zipped, unzipped, converted, etc.

    • Unused events can be prevented from being triggered for increased performance.

    • Provide feedback to the user when the temporary zip file is being copied to its final destination.

    • Provide feedback to the user when the zip file's central directory is being written.

    Zip file manipulation functionality

    • Obtain global information on a zip file.

    • Obtain a detailed list of a zip file's contents via a collection object.

    • Obtain a detailed list of a zip file's contents via events.

    • Delete files from within a zip file.

    • Delete files after they have been successfully and verifyably zipped.

    • Test the integrity of a zip file and its contents.

    • Process or exclude files based on file attributes, sizes, version resources and dates - or create your own custom include/exclude filters.

    • Wildcard previewing - find out exactly which files will match your wildcards and filters before you start zipping or unzipping.

    • Compression previewing - obtain the compressed file sizes before starting the actual zipping operation. Statistics on the entire group of files to be zipped are also provided.

    • Add and retrieve comments for individual files in the zip file.

    • Get and set the global zip file comment.

    • Automatic full yield so other applications do not halt during processing.

    • Clear disks before writing the zip file to them.

    • Specify the amount of free space to leave on the first disk of a spanned zip file set.

    • Reject disks without specified amount of free space on them when spanning.

    • Compress entire directories and their contents.

    • Process only files newer than those already in the zip file or existing on disk.

    • Provide global encryption and decryption passwords or on a file-by-file basis.

    • Control which types of files are stored in the zip file without compression.

    • Control what path information is stored in the zip file for each file.

    • Store a drive's volume label in the zip file and restore it during unzipping.

    • Zip up system and hidden files, overwrite read-only files.

    • Allow zipping files that are currently open for write operations by other process.

    • Limit operation to files with timestamps and file sizes within specified ranges.

    • Supports long filenames, UNC paths and stores Unicode filenames in the zip file.

    • Manipulate self-extracting zip files without disturbing their self-extracting ability.

    • Rename files and their paths as they are being zipped or unzipped.

    • Rename files in a zip file without unzip and re-zip operations.

    • Change file parameters (comment, time stamps, file attributes) in a zip file.

    • Control the amount of compression applied to files being zipped.

    • Specify the path where files will be uncompressed to.

    • Specify files to process using wildcards.

    • Work on temporary copies of zip files, for maximum safety.

    • Specify the location of where temp files are created.

    • Filter out files during a zip file update, merge or conversion based on any file attributes or parameters.

    • Set the date of the archive file to the most recent date among the files it contains.

    Documentation and samples

    • Complete, comprehensive documentation provided in an MSDN style HTML format which is fully context-sensitive so that pressing F1 on a keyword in your IDE opens up the manual to the correct relevant topic.

    • Fully commented sample applications for various languages, including VB, Delphi, Visual C++ with ATL and MFC, C++ Builder and Active Server Pages.

    Direct DLL API access

    • The library's single DLL can also be accessed as a standard 32-bit DLL through it's exported API.

    • All properties, methods and events are exported.

    • All exported API calls involving string parameters come in single, wide character and Unicode versions.

    • Events can be handled either by callback functions or by windows messages.

    Complete 16-bit support available

    • As of May 11, 2001, the 16-bit edition of Xceed Zip Compression Library is not automatically included in the package. If you are interested in a 16-bit version, simply send a request to support@xceedsoft.com and we will send you the 16-bit package. If you want a registered version, don't forget to include your registration number in your request.

    • Includes a 16-bit edition which provides a 16-bit VBX and Delphi 1 VCL. This edition works with VB3, VB4/16, Delphi 1, VC++ 1.52 and other 16-bit languages.

    • The 16-bit edition supports a large subset of Xceed Zip v4.x's features, and includes a 16-bit edition of the Xceed Zip Self-Extractor Module