Microsoft Cabinet Archive

.cab · Archivy

CAB (Cabinet) je archivní formát Microsoftu pro instalaci softwaru. Soubory .cab získáte hlavně z katalogu Microsoft Update (ovladače a aktualizace), uvnitř instalátorů a aktualizačních balíčků Windows, z webů výrobců hardwaru a ze starých instalačních CD Windows a Office. Na rozdíl od ZIPu nebyl CAB nikdy určený k posílání souborů lidem; nese soubory, které rozbalí instalátor Windows nebo samotný systém.

Historie

Microsoft formát zavedl v polovině 90. let, už Windows 95 a tehdejší Office se dodávaly v souborech CAB. Stal se standardním kontejnerem Instalační služby Windows (MSI), Windows Update a balíčků ovladačů, dříve i ovládacích prvků ActiveX pro Internet Explorer a instalátorů pro zařízení s Windows CE. I v Linuxu přicházejí aktualizace firmwaru přes fwupd jako soubory CAB. Windows k němu dodnes přibalují nástroje: makecab archivy vytváří, expand a extrac32 je rozbalují.

Jak CAB funguje

  • Komprese přes hranice souborů: soubory se komprimují společně ve „složkách“ (blocích), což podle Microsoftu výrazně zlepšuje kompresní poměr oproti kompresi každého souboru zvlášť.
  • Metody: bez komprese, MSZIP (Deflate jako v ZIPu), Quantum a LZX. LZX obvykle komprimuje nejlépe.
  • Sady archivů: velké instalace lze rozdělit do více souborů CAB, přičemž jeden soubor může pokračovat z jednoho archivu do dalšího.
  • Digitální podpis: soubory CAB mohou nést podpis Authenticode. Podle něj Windows ověřují, že aktualizace nebo ovladač opravdu pochází od Microsoftu či výrobce.

Pozor na soubory InstallShield CAB (typicky data1.cab vedle setup.exe). Mají stejnou příponu, ale jde o jiný, proprietární formát a nástroje Windows je neotevřou. Obvykle na ně slouží open-source unshield.

Jak soubor CAB otevřít nebo nainstalovat

Windows: dvojklik otevře archiv v Průzkumníku jako složku a soubory z něj můžete zkopírovat. V příkazovém řádku vše rozbalí expand -F:* soubor.cab C:\cil. Co dál, záleží na obsahu:

  • Ovladač (obsahuje soubory .inf, .sys, .cat): rozbalte ho do složky, ve Správci zařízení zvolte „Aktualizovat ovladač“, „Vyhledat ovladače v počítači“ a vyberte tu složku.
  • Aktualizační balíček Windows: nerozbalujte ho. Nainstalujte ho jako správce příkazem DISM /Online /Add-Package /PackagePath:soubor.cab.

macOS: The Unarchiver. Linux: cabextract soubor.cab nebo 7z x. cabextract najde i archivy CAB vložené do samorozbalovacích souborů .exe.

Časté problémy

Soubor CAB ve Windows nejde otevřít nebo je prázdný

Nejčastěji jde o InstallShield CAB, viz výše. Další příčinou je jediný díl ze sady archivů, všechny díly musí být ve stejné složce.

Chyba DISM při instalaci aktualizace .cab

Balíček je pro jinou verzi Windows nebo architekturu (x64, ARM64), případně jde o CAB s ovladačem, který DISM tímto způsobem neinstaluje. Ověřte údaje o balíčku v katalogu Microsoft Update.

Po přebalení neplatí podpis

Podpis se vztahuje k přesnému souboru. Přebalený CAB ani ZIP vytvořený z CABu už podpis Microsoftu či výrobce nenese. Jednotlivé soubory uvnitř, například podepsané ovladače s katalogem .cat, si své podpisy ponechají.

Převod CAB do jiného formátu

Převod CAB do ZIP nebo 7z dává smysl, když si chcete obsah prohlédnout na Macu, v Linuxu, na Chromebooku nebo v mobilu, případně soubory někomu předat. Náš převodník archiv rozbalí (MSZIP, LZX i Quantum) a soubory beze změny zabalí znovu. Mějte na paměti, že výsledkem je obyčejný archiv: Windows ho jako aktualizační balíček nenainstalují a podpis samotného archivu CAB zmizí. Sady archivů rozdělené do více souborů převést nejde, protože každý nahraný soubor se zpracuje samostatně, a InstallShield CAB může selhat. Limity: 100 MB na nahraný soubor, 2 GB po rozbalení. Vytvářet soubory CAB neumíme, ve Windows na to slouží makecab.

CAB v kostce
AutorMicrosoft
První verzepolovina 90. let (Windows 95, Office)
Typarchiv pro instalace, komprese přes více souborů; signatura MSCF
Kompresežádná, MSZIP (Deflate), Quantum, LZX
Nástroje ve Windowsmakecab, expand, extrac32, DISM
Typ MIMEapplication/vnd.ms-cab-compressed
Typické použitíovladače, aktualizace Windows, instalátory MSI

Více (anglicky): Cabinet Files na Microsoft Learn, příkaz expand a cabextract pro Linux a macOS.

Formát CAB umíme převést do

Archivy

ZIP 7Z TARGZISOXZAPK ARJBR BZ BZ2CPIOJARLZLZ4LZMATBZ2TGZTXZTZSTWARXARXPIZZST