Formát archivu CAB

Archivy CAB (Cabinet) se používají k balení souborů a adresářů do komprimovaného formátu, což umožňuje zmenšit velikost souborů a pohodlně je distribuovat v jednom kontejneru. Tento formát se často používá v operačních systémech Windows pro instalační balíčky a aktualizace softwaru.

Informace o archivu CAB

archivy CAB se používají pro efektivní ukládání a distribuci souborů, zejména v rámci operačního systému Windows. Soubory CAB používají různé kompresní algoritmy, včetně LZX, MSZIP a Quantum, aby se zmenšila velikost souborů, které obsahují. Tyto archivy mohou ukládat více souborů a adresářů do jediného komprimovaného souboru, přičemž zachovávají adresářovou strukturu. Archivy CAB se často používají pro instalační balíčky softwaru, distribuci ovladačů a aktualizace systému Windows. Podporují digitální podpisy, což umožňuje ověření integrity a pravosti souborů v archivu.

Informace o historii CAB

  • 1994: Společnost Microsoft zavedla formát souborů CAB, aby usnadnila distribuci softwarových balíčků a aktualizací.
  • 1995: Soubory CAB byly použity při instalaci aplikací ve Windows 95.
  • 2000: Soubory CAB se staly nedílnou součástí technologie Windows Installer (.msi), která napomáhala zavádění aplikací v systému Windows 2000.
  • 2001: Formát CAB byl zahrnut do .NET Framework SDK, čímž se zlepšila jeho použitelnost v různých vývojových prostředích.
  • 2005: Microsoft rozšířil použití CAB s vydáním Windows XP a Windows Server 2003 a využil je při aktualizacích systému a instalacích ovladačů.
  • 2008: S uvedením systémů Windows Vista a Windows Server 2008 byly soubory CAB nadále široce používány v aktualizacích systému Windows a aktualizacích Service Pack.
  • 2012: Soubory CAB byly podporovány v operačních systémech Windows 8 a Windows Server 2012 se zachováním jejich role při nasazování softwaru a aktualizacích systému.
  • 2021: Soubory CAB zůstávají kritickou součástí ekosystému Windows a používají se při zavádění ovladačů, aktualizací systému a instalací softwaru ve Windows 11.

Struktura souboru Cabiet

CAB je binární formát souborů určený k ukládání více komprimovaných souborů do jednoho souboru, takže je vhodný pro distribuci a nasazení softwaru. Archiv CAB se skládá ze tří primárních součástí:

  1. Záhlaví: Záhlaví obsahuje metadata o archivu, jako je celkový počet souborů, počet složek a informace o použitých metodách komprese.
  2. Struktury složek: Soubory CAB mohou obsahovat více struktur složek, z nichž každá představuje logické seskupení souborů. Každá položka složky v archivu CAB obsahuje informace o souborech, které obsahuje, a použité metodě komprese.
  3. Data souboru: Skutečná data souboru jsou uložena v archivu CAB, komprimována pomocí jednoho z několika podporovaných algoritmů. Data pro každý soubor jsou obvykle uložena v blocích, což umožňuje efektivní kompresi a dekompresi.

CAB kompresní metody

Archivy CAB podporují různé metody komprese pro efektivní ukládání dat. Mezi primární kompresní metody patří:

  1. MSZIP: Kompresní algoritmus založený na algoritmu DEFLATE používaném v souborech ZIP. MSZIP poskytuje dobrou rovnováhu mezi kompresním poměrem a rychlostí, takže je oblíbenou volbou pro soubory CAB.
  2. Quantum: Starší metoda komprese používaná v některých souborech CAB. Quantum je dnes méně běžné, ale bylo používáno v dřívějších implementacích formátu CAB.
  3. LZX: Algoritmus vysoké komprese, který poskytuje lepší kompresní poměr ve srovnání s MSZIP, ale za cenu nižší rychlosti komprese a dekomprese. LZX se dobře hodí pro zmenšení velikosti velkých softwarových balíků a instalačních souborů.
  4. Nekomprimované: Soubory CAB mohou také ukládat nekomprimovaná data, což je užitečné, když není nutná komprese nebo když je vyžadován rychlý přístup k souborům.

Operace podporované .cab

Přestože Aspose.Zip v současné době nenabízí funkce pro vytváření archivů CAB, vyniká v extrahování jejich obsahu. Zde je rozpis toho, čeho můžete dosáhnout:

  • Úplná extrakce: Pomocí API můžete extrahovat všechny soubory a složky z archivu CAB.
  • Selektivní extrakce: Extrahujte konkrétní soubory nebo složky na základě názvů nebo filtrů.
  • Udržování struktury složek: Extrahované soubory si zachovávají svou původní strukturu složek v archivu CAB.

CAB - Vnitřní struktura

Archivní formát Cabinet (CAB) je navržen pro efektivní kompresi a ukládání více souborů v rámci jednoho archivu. Běžně se používá pro distribuci softwaru, zejména v prostředí Microsoft. Zde je přehled struktury archivu CAB:

  1. Záhlaví: Soubor CAB začíná záhlavím, které obsahuje základní metadata o archivu, jako například:

    • Podpis: Identifikuje soubor jako archiv CAB (řetězec ASCII “MSCF”).
    • Vyhrazená pole: Různá vyhrazená pole pro budoucí použití nebo specifické detaily implementace.
    • Velikost archivu: Celková velikost souboru CAB.
    • Počet složek: Udává, kolik struktur složek (logických skupin souborů) je v archivu.
    • Počet souborů: Celkový počet souborů uložených v archivu CAB.
    • Offset to First CFFOLDER: Ukazuje na první položku složky v archivu.
    • Rezervováno: Další vyhrazená pole.
  2. Struktury složek: Každý soubor CAB může obsahovat více struktur složek. Každá položka složky poskytuje:

    • Offset: Umístění v souboru CAB, kde začínají data této složky.
    • Počet datových bloků: Udává, kolik datových bloků je ve složce.
    • Typ komprese: Určuje metodu komprese použitou pro soubory v této složce (např. MSZIP, LZX).
  3. Záznamy souborů: Archiv CAB obsahuje záznamy pro každý soubor s podrobnostmi:

    • Nekomprimovaná velikost: Původní velikost souboru před kompresí.
    • Offset: Pozice v souboru CAB, kde začínají data komprimovaného souboru.
    • Index složky: Určuje, do které složky soubor patří.
    • Atributy: Atributy souboru (např. jen pro čtení, skryté).
    • Délka názvu souboru: Délka názvu souboru.
    • File Name: Název souboru.
  4. Datové bloky: Skutečná data souboru jsou uložena v komprimovaných datových blocích. Každý blok obsahuje:

    • Komprimovaná data: Data souboru komprimovaná podle zadané metody (např. MSZIP, LZX).
    • Informace o dekompresi: Metadata potřebná k dekomprimaci datového bloku, jako je původní a komprimovaná velikost.
  5. Volitelná data: Některé archivy CAB mohou obsahovat další volitelná data pro rozšířenou funkčnost, jako například:

    • Kontrolní součty integrity: Pro ověření integrity archivu.
    • Digitální podpisy: Pro zajištění pravosti archivu.

CAB - Vnitřní struktura

Popularita CAB a podpora

Soubory CAB se ve Windows široce používají pro instalaci softwaru, aktualizace a distribuci ovladačů. Společnost Microsoft poskytuje nástroje jako MakeCab, Expand a DISM pro vytváření, extrahování a správu souborů CAB. Soubory CAB nabízejí účinnou kompresi, lze je integrovat s Instalační službou systému Windows a lze je použít pro archivy s více částmi.

Příklady použití Cabinet Files

Archivy CAB ukládají soubory v komprimované podobě pomocí kompresních algoritmů, jako jsou LZX, MSZIP nebo Quantum. Umožňují uložit více souborů do jednoho archivu při zachování adresářové struktury. Níže jsou uvedeny příklady kódu pro rozbalení archivů CAB v C#, Java a Python.Net:

C#

    using (var archive = new CabArchive("installer.cab")) 
    { 
    archive.ExtractToDirectory(@"C:\extracted");
    }

Java

    try (CabArchive archive = new CabArchive("installer.cab")) {
    archive.extractToDirectory("C:\\extracted");
    }

Python.Net

    import aspose.zip as az
    with az.cab.CabArchive('installer.cab') as archive:
        archive.extract_to_directory("C:\\extracted")

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

Další informace

Lidé se ptali

1. Co je soubor CAB a k čemu se používá?

Soubory Cabinet jsou archivní soubory používané především společností Microsoft pro efektivní distribuci a instalaci softwaru, systémových komponent a ovladačů. Podporují více kompresních algoritmů, jako je MSZIP, Quantum a LZX, ke snížení velikosti souborů při zachování strukturovaného a organizovaného formátu pro správu obsažených souborů.

2. Lze soubory CAB rozdělit na více částí?

Ano, soubory CAB podporují vytváření vícedílných archivů. Tato funkce je užitečná pro distribuci velkých datových sad přes několik menších souborů CAB, což usnadňuje správu a přenos velkého množství dat. Při extrahování vícedílných souborů CAB musí být všechny díly přítomny a přístupné, aby bylo možné úspěšně rekonstruovat původní soubory.

3. Mohu vytvořit soubor CAB sám?

I když je možné vytvářet soubory CAB ručně, je obecně pohodlnější použít specializované nástroje, jako je MakeCab (utilita společnosti Microsoft) nebo jiný archivační software, který podporuje formát CAB.