Formato file CAB
Caratteristiche principali del file Cabinet: come aprire, estrarre, installare, convertire e ripristinare
Formato archivio CAB
Gli archivi CAB (Cabinet) vengono utilizzati per impacchettare file e directory in un formato compresso, che consente di ridurre la dimensione dei file e distribuirli comodamente in un unico contenitore. Questo formato viene spesso utilizzato nei sistemi operativi Windows per pacchetti di installazione e aggiornamenti software.
Informazioni sull'archivio CAB
Gli archivi CAB vengono utilizzati per l’archiviazione e la distribuzione efficienti dei file, in particolare all’interno del sistema operativo Windows. I file CAB utilizzano vari algoritmi di compressione, inclusi LZX, MSZIP e Quantum, per ridurre la dimensione dei file che contengono. Questi archivi possono memorizzare più file e directory in un unico file compresso, mantenendo la struttura delle directory. Gli archivi CAB vengono spesso utilizzati per pacchetti di installazione software, distribuzione di driver e aggiornamenti di Windows. Supportano le firme digitali, consentendo la verifica dell’integrità e dell’autenticità dei file all’interno dell’archivio.
Informazioni sulla storia della CAB
- 1994: il formato file CAB è stato introdotto da Microsoft per facilitare la distribuzione di pacchetti software e aggiornamenti.
- 1995: i file CAB furono utilizzati nell’installazione di applicazioni in Windows 95.
- 2000: i file CAB diventano parte integrante della tecnologia Windows Installer (.msi), agevolando la distribuzione delle applicazioni su Windows 2000.
- 2001: il formato CAB è stato incluso in .NET Framework SDK, migliorandone l’utilità in vari ambienti di sviluppo.
- 2005: Microsoft ha ampliato l’utilizzo di CAB con il rilascio di Windows XP e Windows Server 2003, utilizzandoli negli aggiornamenti di sistema e nelle installazioni di driver.
- 2008: con l’introduzione di Windows Vista e Windows Server 2008, i file CAB hanno continuato a essere ampiamente utilizzati negli aggiornamenti e nei service pack di Windows.
- 2012: i file CAB sono stati supportati nei sistemi operativi Windows 8 e Windows Server 2012, mantenendo il loro ruolo nella distribuzione del software e negli aggiornamenti del sistema.
- 2021: i file CAB rimangono una parte fondamentale dell’ecosistema Windows, utilizzati nella distribuzione di driver, aggiornamenti di sistema e installazioni software in Windows 11.
Struttura dell'archivio Cabiet
CAB è un formato di file binario progettato per archiviare più file compressi in un unico file, rendendolo adatto alla distribuzione e alla distribuzione del software. Un archivio CAB è costituito da tre componenti principali:
- Intestazione: l’intestazione contiene metadati sull’archivio, come il numero totale di file, il numero di cartelle e informazioni sui metodi di compressione utilizzati.
- Strutture di cartelle: i file CAB possono contenere più strutture di cartelle, ciascuna delle quali rappresenta un raggruppamento logico di file. Ogni voce di cartella nell’archivio CAB contiene informazioni sui file in essa contenuti e sul metodo di compressione utilizzato.
- Dati del file: i dati effettivi del file vengono archiviati nell’archivio CAB, compressi utilizzando uno dei numerosi algoritmi supportati. I dati di ciascun file vengono generalmente archiviati in blocchi, consentendo una compressione e decompressione efficiente.
Metodi di compressione CAB
Gli archivi CAB supportano una varietà di metodi di compressione per archiviare i dati in modo efficiente. I metodi di compressione primari includono:
- MSZIP: un algoritmo di compressione basato sull’algoritmo DEFLATE utilizzato nei file ZIP. MSZIP fornisce un buon equilibrio tra rapporto di compressione e velocità, rendendolo una scelta popolare per i file CAB.
- Quantum: un metodo di compressione precedente utilizzato in alcuni file CAB. Quantum è meno comune oggi ma veniva utilizzato nelle implementazioni precedenti del formato CAB.
- LZX: un algoritmo ad alta compressione che fornisce un rapporto di compressione migliore rispetto a MSZIP ma a scapito di velocità di compressione e decompressione più lente. LZX è adatto per ridurre le dimensioni di pacchetti software e file di installazione di grandi dimensioni.
- Non compresso: i file CAB possono anche memorizzare dati non compressi, il che è utile quando la compressione non è necessaria o quando è richiesto un accesso rapido ai file.
Operazioni supportate .cab
Sebbene Aspose.Zip attualmente non offra funzionalità per la creazione di archivi CAB, eccelle nell’estrarre i loro contenuti. Ecco una ripartizione di ciò che puoi ottenere:
- Estrazione completa: puoi utilizzare l’API per estrarre tutti i file e le cartelle da un archivio CAB.
- Estrazione selettiva: estrae file o cartelle specifici in base a nomi o filtri.
- Mantenimento della struttura delle cartelle: i file estratti mantengono la struttura delle cartelle originale all’interno dell’archivio CAB.
CABINA - Struttura Interna
Il formato di archivio Cabinet (CAB) è progettato per la compressione e l’archiviazione efficienti di più file all’interno di un singolo archivio. È comunemente utilizzato per la distribuzione di software, in particolare in ambienti Microsoft. Ecco una panoramica della struttura di un archivio CAB:
Intestazione: il file CAB inizia con un’intestazione che contiene i metadati essenziali sull’archivio, come:
- Firma: Identifica il file come archivio CAB (la stringa ASCII “MSCF”).
- Campi riservati: vari campi riservati per uso futuro o dettagli di implementazione specifici.
- Dimensione archivio: dimensione totale del file CAB.
- Numero di cartelle: indica quante strutture di cartelle (gruppi logici di file) sono presenti nell’archivio.
- Numero di file: numero totale di file archiviati nell’archivio CAB.
- Offset al primo CFFOLDER: punta alla prima voce della cartella all’interno dell’archivio.
- Riservato: campi riservati aggiuntivi.
Strutture di cartelle: ciascun file CAB può contenere più strutture di cartelle. Ogni voce della cartella fornisce:
- Offset: posizione all’interno del file CAB dove iniziano i dati di questa cartella.
- Numero di blocchi dati: indica quanti blocchi dati sono presenti nella cartella.
- Tipo di compressione: specifica il metodo di compressione utilizzato per i file in questa cartella (ad esempio, MSZIP, LZX).
Voci file: l’archivio CAB include voci per ciascun file, che dettagliano:
- Dimensione non compressa: la dimensione originale del file prima della compressione.
- Offset: la posizione all’interno del file CAB in cui iniziano i dati del file compresso.
- Indice cartelle: specifica a quale cartella appartiene il file.
- Attributi: attributi del file (ad esempio, sola lettura, nascosto).
- Lunghezza nome file: lunghezza del nome file.
- Nome file: il nome del file.
Blocchi dati: i dati effettivi del file vengono archiviati in blocchi dati compressi. Ogni blocco include:
- Dati compressi: i dati del file compressi in base al metodo specificato (ad esempio, MSZIP, LZX).
- Informazioni sulla decompressione: metadati necessari per decomprimere il blocco di dati, come le dimensioni originali e compresse.
Dati facoltativi: Alcuni archivi CAB possono includere dati facoltativi aggiuntivi per funzionalità estese, come ad esempio:
- Checksum di integrità: per verificare l’integrità dell’archivio.
- Firme digitali: per garantire l’autenticità dell’archivio.

Popolarità del CAB e supporto
I file CAB sono ampiamente utilizzati in Windows per l’installazione del software, gli aggiornamenti e la distribuzione dei driver. Microsoft fornisce strumenti come MakeCab, Espandi e DISM per creare, estrarre e gestire file CAB. I file CAB offrono una compressione efficiente, si integrano con Windows Installer e possono essere utilizzati per archivi multiparte.
Esempi di utilizzo dei file Cabinet
Gli archivi CAB memorizzano i file in formato compresso utilizzando algoritmi di compressione come LZX, MSZIP o Quantum. Ti consentono di archiviare più file in un archivio preservando la struttura delle directory. Di seguito sono riportati esempi di codice per decomprimere gli archivi CAB in C#, Java e 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")
Ulteriori informazioni
La gente se lo è chiesto
1. Cos’è un file CAB e a cosa serve?
I file Cabinet sono file di archivio utilizzati principalmente da Microsoft per la distribuzione e l’installazione efficiente di software, componenti di sistema e driver. Supportano più algoritmi di compressione, come MSZIP, Quantum e LZX, per ridurre le dimensioni dei file mantenendo un formato strutturato e organizzato per la gestione dei file contenuti.
2. I file CAB possono essere divisi in più parti?
Sì, i file CAB supportano la creazione di archivi multiparte. Questa funzionalità è utile per distribuire set di dati di grandi dimensioni su diversi file CAB più piccoli, semplificando la gestione e il trasferimento di grandi quantità di dati. Quando si estraggono file CAB composti da più parti, tutte le parti devono essere presenti e accessibili per ricostruire correttamente i file originali.
3. Posso creare un file CAB da solo?
Sebbene sia possibile creare file CAB manualmente, generalmente è più conveniente utilizzare strumenti specializzati come MakeCab (un’utilità Microsoft) o altri software di archiviazione che supportano il formato CAB.