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 | |
|---|---|
| Autor | Microsoft |
| První verze | polovina 90. let (Windows 95, Office) |
| Typ | archiv pro instalace, komprese přes více souborů; signatura MSCF |
| Komprese | žádná, MSZIP (Deflate), Quantum, LZX |
| Nástroje ve Windows | makecab, expand, extrac32, DISM |
| Typ MIME | application/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.