How to Convert CAB to TAR 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 TAR via C#

Convertation from CAB to TAR 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 TAR

The process of converting from CAB format to various other formats involves a series of steps. Typically, a CAB archive contains multiple records or files. To accomplish this conversion into formats like GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils), and BZ2 (Bzip2), a commonly used approach is to first bundle the contents into a TAR (Tape Archive) format. This approach is reminiscent of common practices in Linux environments.

During this conversion process, each individual file or record within the CAB archive is initially consolidated into a single TAR archive. This TAR archive serves as a container for these files, preserving their original structure and metadata intact. Once the data is encapsulated within the TAR archive, it becomes more convenient to apply various compression algorithms and formats.

The preference for TAR as an intermediate format stems from its simplicity and wide compatibility across various Unix-like operating systems. It offers a straightforward way to group files together without directly applying compression. After the TAR packaging is completed, 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 TAR - C#:

    using (TarArchive tarArchive = new TarArchive())
    {
        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);
                tarArchive.CreateEntry(cabArchive.Entries[i].Name.Replace('\\', '/'), ms);
            }
        }

        tarArchive.Save("output.tar");
    }



Free App to Convert CAB to TAR

Check our live demos for CAB to TAR 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.