CAB-arkivformat

CAB (Cabinet)-arkiv används för att paketera filer och kataloger i ett komprimerat format, vilket gör att du kan minska storleken på filer och enkelt distribuera dem i en behållare. Detta format används ofta i Windows-operativsystem för installationspaket och programuppdateringar.

Om CAB Arkivinformation

CAB-arkiv används för effektiv lagring och distribution av filer, särskilt inom Windows-operativsystemet. CAB-filer använder olika komprimeringsalgoritmer, inklusive LZX, MSZIP och Quantum, för att minska storleken på filerna de innehåller. Dessa arkiv kan lagra flera filer och kataloger i en enda komprimerad fil och bibehålla katalogstrukturen. CAB-arkiv används ofta för programvaruinstallationspaket, drivrutinsdistribution och Windows-uppdateringar. De stöder digitala signaturer, vilket möjliggör verifiering av integriteten och äktheten av filerna i arkivet.

CAB Historik info

  • 1994: CAB-filformatet introducerades av Microsoft för att underlätta distributionen av mjukvarupaket och uppdateringar.
  • 1995: CAB-filer användes vid installationen av applikationer i Windows 95.
  • 2000: CAB-filer blev en integrerad del av Windows Installer-tekniken (.msi), vilket underlättade distributionen av applikationer på Windows 2000.
  • 2001: CAB-formatet inkluderades i .NET Framework SDK, vilket förbättrade dess användbarhet i olika utvecklingsmiljöer.
  • 2005: Microsoft utökade CAB-användningen med lanseringen av Windows XP och Windows Server 2003, och använde dem i systemuppdateringar och drivrutinsinstallationer.
  • 2008: Med introduktionen av Windows Vista och Windows Server 2008 fortsatte CAB-filer att användas i stor utsträckning i Windows-uppdateringar och servicepack.
  • 2012: CAB-filer stöddes i operativsystemen Windows 8 och Windows Server 2012, vilket bibehöll sin roll i programvarudistribution och systemuppdateringar.
  • 2021: CAB-filer förblir en kritisk del av Windows-ekosystemet, som används vid distribution av drivrutiner, systemuppdateringar och programvaruinstallationer i Windows 11.

Struktur för kabinettfil

CAB är ett binärt filformat utformat för att lagra flera komprimerade filer i en enda fil, vilket gör det lämpligt för programvarudistribution och distribution. Ett CAB-arkiv består av tre primära komponenter:

  1. Rubrik: Rubriken innehåller metadata om arkivet, såsom det totala antalet filer, antalet mappar och information om de använda komprimeringsmetoderna.
  2. Mappstrukturer: CAB-filer kan innehålla flera mappstrukturer, som var och en representerar en logisk gruppering av filer. Varje mapppost i CAB-arkivet innehåller information om filerna den innehåller och vilken komprimeringsmetod som används.
  3. Fildata: Den faktiska fildatan lagras i CAB-arkivet, komprimerad med en av flera algoritmer som stöds. Data för varje fil lagras vanligtvis i block, vilket möjliggör effektiv komprimering och dekomprimering.

CAB-komprimeringsmetoder

CAB-arkiv stöder en mängd olika komprimeringsmetoder för att effektivt lagra data. De primära komprimeringsmetoderna inkluderar:

  1. MSZIP: En komprimeringsalgoritm baserad på DEFLATE-algoritmen som används i ZIP-filer. MSZIP ger en bra balans mellan kompressionsförhållande och hastighet, vilket gör det till ett populärt val för CAB-filer.
  2. Quantum: En äldre komprimeringsmetod som används i vissa CAB-filer. Quantum är mindre vanligt idag men användes i tidigare implementeringar av CAB-formatet.
  3. LZX: En högkomprimeringsalgoritm som ger ett bättre kompressionsförhållande jämfört med MSZIP men till priset av långsammare kompressions- och dekompressionshastigheter. LZX är väl lämpad för att minska storleken på stora programpaket och installationsfiler.
  4. Okomprimerad: CAB-filer kan också lagra okomprimerad data, vilket är användbart när komprimering inte är nödvändig eller när snabb åtkomst till filerna krävs.

.cab-operationer som stöds

Även om Aspose.Zip för närvarande inte erbjuder funktioner för att skapa CAB-arkiv, är det utmärkt att extrahera innehållet. Här är en sammanfattning av vad du kan uppnå:

  • Fullständig extraktion: Du kan använda API:et för att extrahera alla filer och mappar från ett CAB-arkiv.
  • Selektiv extraktion: Extrahera specifika filer eller mappar baserat på namn eller filter.
  • Underhålla mappstruktur: De extraherade filerna behåller sin ursprungliga mappstruktur i CAB-arkivet.

CAB - Intern struktur

Arkivformatet Cabinet (CAB) är designat för effektiv komprimering och lagring av flera filer i ett enda arkiv. Det används ofta för distribution av programvara, särskilt i Microsoft-miljöer. Här är en översikt över strukturen för ett CAB-arkiv:

  1. Rubrik: CAB-filen börjar med en rubrik som innehåller viktig metadata om arkivet, till exempel:

    • Signatur: Identifierar filen som ett CAB-arkiv (ASCII-strängen “MSCF”).
    • Reserverade fält: Olika reserverade fält för framtida användning eller specifika implementeringsdetaljer.
    • Arkivstorlek: Total storlek på CAB-filen.
    • Antal mappar: Indikerar hur många mappstrukturer (logiska grupper av filer) som finns i arkivet.
    • Antal filer: Totalt antal filer lagrade i CAB-arkivet.
    • Offset to First CFFOLDER: Pekar på den första mappposten i arkivet.
    • Reserverat: Ytterligare reserverade fält.
  2. Mappstrukturer: Varje CAB-fil kan innehålla flera mappstrukturer. Varje mapppost ger:

    • Offset: Position i CAB-filen där denna mapps data börjar.
    • Antal datablock: Indikerar hur många datablock som finns i mappen.
    • Kompressionstyp: Anger den komprimeringsmetod som används för filerna i den här mappen (t.ex. MSZIP, LZX).
  3. Filposter: CAB-arkivet innehåller poster för varje fil, med information om:

    • Okomprimerad storlek: Den ursprungliga storleken på filen före komprimering.
    • Offset: Den position i CAB-filen där den komprimerade fildatan börjar.
    • Mappindex: Anger vilken mapp filen tillhör.
    • Attribut: Filattribut (t.ex. skrivskyddad, dolda).
    • Filnamnets längd: Längden på filnamnet.
    • Filnamn: Namnet på filen.
  4. Datablock: Den faktiska fildatan lagras i komprimerade datablock. Varje block innehåller:

    • Komprimerade data: Fildata komprimerade enligt den angivna metoden (t.ex. MSZIP, LZX).
    • Dekomprimeringsinformation: Metadata som behövs för att dekomprimera datablocket, såsom original och komprimerade storlekar.
  5. Valfria data: Vissa CAB-arkiv kan innehålla ytterligare valfria data för utökad funktionalitet, till exempel:

    • Integritetskontrollsummor: För att verifiera arkivets integritet.
    • Digitala signaturer: För att säkerställa arkivets autenticitet.

CAB - Intern struktur

CAB:s popularitet och support

CAB-filer används ofta i Windows för programvaruinstallation, uppdateringar och distribution av drivrutiner. Microsoft tillhandahåller verktyg som MakeCab, Expand och DISM för att skapa, extrahera och hantera CAB-filer. CAB-filer erbjuder effektiv komprimering, integreras med Windows Installer och kan användas för flerdelade arkiv.

Exempel på användning av skåpfiler

CAB-arkiv lagrar filer i komprimerad form med hjälp av komprimeringsalgoritmer som LZX, MSZIP eller Quantum. De låter dig lagra flera filer i ett arkiv samtidigt som katalogstrukturen bevaras. Nedan finns kodexempel för uppackning av CAB-arkiv i C#, Java och 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

Ytterligare information

Folk har frågat

1. Vad är en CAB-fil och vad används den till?

Kabinetfiler är arkivfiler som främst används av Microsoft för effektiv distribution och installation av programvara, systemkomponenter och drivrutiner. De stöder flera komprimeringsalgoritmer, såsom MSZIP, Quantum och LZX, för att minska filstorlekarna samtidigt som de bibehåller ett strukturerat, organiserat format för att hantera inneslutna filer.

2. Kan CAB-filer delas upp i flera delar?

Ja, CAB-filer stöder skapandet av flerdelade arkiv. Den här funktionen är användbar för att distribuera stora datamängder över flera mindre CAB-filer, vilket gör det lättare att hantera och överföra stora mängder data. När du extraherar flerdelade CAB-filer måste alla delar vara närvarande och tillgängliga för att kunna rekonstruera originalfilerna.

3. Kan jag skapa en CAB-fil själv?

Även om det är möjligt att skapa CAB-filer manuellt, är det i allmänhet bekvämare att använda specialiserade verktyg som MakeCab (ett Microsoft-verktyg) eller annan arkiveringsprogramvara som stöder CAB-formatet.