Managed, cross-platform reading of Microsoft Cabinet (.cab) archives.
The library is an independent implementation of the Cabinet format for .NET. The initial implementation is focused on reading single-cabinet archives with uncompressed, MSZIP, and LZX folders.
using var input = File.OpenRead("archive.cab");
using var cabinet = CabinetArchive.Open(input);
CabinetFile file = cabinet.Files.First(file => file.Name == "example.txt");
using Stream contents = file.Open();
contents.CopyTo(Console.OpenStandardOutput());Entry streams are forward-only. The owning CabinetArchive must remain open
for the lifetime of every entry stream.
Early development. The public API is not yet stable. Uncompressed, MSZIP, and LZX folder data can be read. Quantum compression and multi-cabinet spanning are not supported.
MIT