Version: 2.1.0.2
Easily add Zip capability to your .NET Windows or ASP.NET application without sacrificing power and flexibility.

Zip Archive .NET Component

Use the Archive component within the .NET Framework to compress, decompress, and encrypt files and streams.

The Archive component provides both high-level ease of use for those developers who just want to write code as quickly as possible, and low-level power for those developers who require finer control. Features include:

  • Quickly compress a single file (or multiple files using wildcards...including recursive directory trees) with a single line of code.
  • Quickly decompress files with only a single line of code.
  • Compress to or from files or streams.
  • Customize the level of compression (high, medium, or low) based on your speed and size requirements.
  • Encrypt the output data using standard zip encryption.
  • Create a self-extracting zip file.
  • Supports spanning.
  • Manipulate the files in the archive on a global level (i.e. unzip all files at once, assign a comment to all files at once, etc) or on a file level (i.e. unzip a single file contained in the archive, assign the comment on a single file in the archive, etc).
  • C#, VB.NET, ASP.NET, and Delphi .NET sample projects included.
  • Integrates with Visual Studio 2005, 2008, 2010, 2012
  • .NET Framework 4 Client Profile compatible

Looking for the ActiveX version of this component?

Interface

 

Public Constructors
Archive Overloaded. Initialize a new instance of the Archive class.
Public Properties
Comment Gets or sets the comment for the entire collection.
CompressionLevel Gets or sets the compression level for data compression.
ContainsListCollection Gets a value indicating whether the collection is a collection of IList objects.
Count Gets the number of ArchiveItem objects within the Archive.
DefaultCompressionMethod Gets or sets the default compression algorithm used for data compression.
DefaultEncryption Gets or sets the encryption algorithm used for the the entire collection.
ExcludePattern Gets or sets the files to exclude when using wildcards.
Format Gets the file format used for the archive file.
IncludeSubs Gets or sets whether subdirectories are included when using wildcards.
IsSynchronized Gets a value indicating whether access to the ICollection is synchronized (thread-safe).
Item Gets or sets the object at the specified index.
Overwrite Gets or sets a value which determines how files are overwritten when decompressing files.
Password Gets or sets the encryption password for the entire archive.
PreservePath Gets or sets a value which determines if file paths are preserved when creating a compressed archive.
ProgressSize Gets or sets the frequency to raise the Progress event.
SelfExtractConfiguration Gets or sets a SelfExtractConfiguration object, which is used to define the specification of a self-extraction operation.
SpanConfiguration Gets or sets a SpanConfiguration object, which is used to span or split an archive over several volumes.
SyncRoot Gets an object that can be used to synchronize access to the Archive.
Tag Gets or sets an object reference that can be used to associate this instance with any other.
TempFileDirectory Gets or sets a value inidicating the directory to store any temp files created during compression operations.
VolumeLabel Gets or sets the volume label
Public Methods
Abort Abort the current operation
Add Add a file or multiple files to the archive.
BeginQuickUnzip Asynchronously load a compressed stream and unzip in one step.
BeginQuickZip Asynchronously add a file or files and zip in one step.
BeginUnzip Asynchronously decompress the items in the current collection to the specified directory
BeginZip Asynchronously compress the items in the current collection and generate a zip archive that is written to a Stream.
Clear Removes all elements from the ArrayList.
CopyTo Copies the entire ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.
GetEnumerator Returns an enumerator for the collection.
GetList Returns an IList that can be bound to a data source from an object that does not implement an IList itself.
Insert Insert one or more files into the collection starting from the specified index.
Open Opens a compressed file and populates the Archive collection to reflect the items in the compressed file.
QuickUnzip Open a compressed file archive and uncompress in one step.
QuickZip Add a file or files and compress in one step where the destination is a Stream.
RemoveAt Removes the element at the specified index of the collection.
RemoveRange Removes a range of elements from the ArrayList.
Reset Remove the elements in the collection and reset all of the properties of the collection to their defaults.
Unzip Decompress the items in the current collection to the specified directory
Zip Compress the items in the current collection and generate a zip archive to the destination stream
Public Events
BusyChanged This event is raised when the Busy property in the Archive component gets changed.
Disk This event is raised when a new removable media volume is needed during a spanning process.
EndUnzip This event is raised when an asynchronous Unzip operation completes
EndZip This event is raised when an asynchronous zip operation completes
Exception This event is raised when an Exception condition occurs during an Archive-level operation.
Progress This event is raised periodically to indicate the progress of the current compression or decompression activity.
SpanProgress This event is raised periodically to indicate the progress of a spanning operation.

Code Example

This example demonstrates compressing several files into a single zipped file.

VB.NET Example
' Add some files to the archive
Archive1.Add("C:\temp\file1.txt")
Archive1.Add("C:\temp\file2.txt")
Archive1.Add("C:\temp\file3.txt")

' Compress them
Archive1.Zip("C:\temp\archive.zip")