How to Convert CAB to 7ZIP Using C#

First, you need to obtain and reference the Aspose.Zip library in your C# project. You can typically download it from the Aspose website or use a NuGet package if available. Package manager, search for Aspose.ZIP and install. You may also use the following command from the Package Manager Console.

Manage NuGet packages with the Visual Studio Package

Package Manager Console Command:

PM> Install-Package Aspose.Zip

Steps to Convert CAB to 7ZIP via C#

Convertation from CAB to 7ZIP consist of following steps:

  • Extract archive to intermediate storage
  • Compress extracted data to desired format

System Requirements

Before running the conversion example code, make sure that you have the following prerequisites.

  • Microsoft Windows or a compatible OS with .NET Framework, Mono and COM Interop.
  • Development environment like Microsoft Visual Studio.
  • Aspose.Tasks for .NET DLL referenced in your project.

Sample code to convert from CAB to 7ZIP

Code from CAB to various formats: The CAB archive typically contains multiple records or files. To convert this archive into formats such as GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils), and BZ2 (Bzip2), a common approach is to first package the contents into a TAR (Tape Archive) format. This process is reminiscent of the typical practice in Linux environments.

In this conversion process, each file or record within the CAB archive is first bundled together into a single TAR archive. This TAR archive serves as a container for the individual files, preserving their original structure and metadata. Once the data is encapsulated within the TAR archive, it becomes easier to apply different compression algorithms and formats.

The choice of TAR as an intermediate format is due to its simplicity and wide compatibility across various Unix-like operating systems. It provides a straightforward way to group files together without applying compression directly. After the TAR packaging is complete, subsequent compression operations can be applied to the TAR archive to generate the desired output formats, such as GZ, LZ, Z, XZ, or BZ2.

Convert from CAB to 7ZIP - C#:

    using (SevenZipArchive sevenZipArchive =  new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(1048576))))
    {
        using (CabArchive cabArchive = new CabArchive("archive.cab"))
        {
            for (int i = 0; i < cabArchive.Entries.Count; i++)
            {
                var ms = new MemoryStream();
                cabArchive.Entries[i].Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                sevenZipArchive.CreateEntry(cabArchive.Entries[i].Name.Replace('\\', '/'), ms);
            }
        }

        sevenZipArchive.Save("output.7z");
    }



Free App to Convert ZIP to 7ZIP

Check our live demos for CAB to 7ZIP conversion with following benefits


A reliable Aspose.ZIP Library that can compress, extract, encrypt, decrypt, convert and merge archives. Aspose.ZIP for .NET API allows to manipulate various archive types without without going into the underlying complexity of the compress file formats with minimum coding efforts.

Other Supported CAB Conversions

You can also convert CAB into many other file formats including few listed below.