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

Convertation from CAB to TARGZ 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.GZ

The process of converting a CAB archive into various formats demands a methodical and precise approach. Typically, CAB archives contain a multitude of files or records, each holding valuable data. To facilitate this transition into formats like GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils), and BZ2 (Bzip2), a commonly adopted strategy entails the initial consolidation of these contents into a TAR.GZ (Tape Archive with Gzip Compression) format.

This methodology mirrors well-established practices within Linux environments, where TAR.GZ archives serve as adaptable containers. During the conversion process, each individual file or record within the CAB archive is meticulously arranged within a unified TAR.GZ archive. This TAR.GZ archive acts as a cohesive repository, assiduously preserving the original file structures and associated metadata. This encapsulation into the TAR.GZ format streamlines the subsequent application of diverse compression algorithms and formats.

The preference for TAR.GZ as an intermediary format is grounded in its inherent simplicity and exceptional compatibility across various Unix-like operating systems. Its capacity to group files together without immediate compression application renders it a pragmatic choice. Following successful packaging into TAR.GZ, subsequent compression operations can be applied to generate the desired output formats, encompassing GZ, LZ, Z, XZ, or BZ2.

In essence, this comprehensive process ensures the efficient transformation of the data initially housed in the CAB archive into a spectrum of formats, providing adaptability and compatibility across various use cases.

Convert from CAB to TAR.GZ - 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.SaveGzipped("output.tar.gz");
    }



Free App to Convert CAB to TAR.GZ

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