Cabinet (o CAB ) es un formato de archivo para Microsoft Windows que admite la compresión de datos sin pérdidas y certificados digitales integrados que se utilizan para mantener la integridad del archivo. Los archivos gabinete tienen .cab
extensiones de nombre de archivo y se reconocen por sus primeros cuatro bytes (también llamados número mágico ) MSCF . Los archivadores se conocían originalmente como archivos Diamond.
Un archivo CAB puede contener hasta 65.535 carpetas (distintas de los directorios estándar del sistema operativo), cada una de las cuales puede contener hasta 65.535 archivos para un máximo de 4.294.836.225. Internamente, cada carpeta se trata como un único bloque comprimido , lo que proporciona una compresión más eficiente que comprimir cada archivo individualmente.
Cada entrada en una carpeta tiene que ser un archivo. [1] Debido a esta estructura, no es posible almacenar carpetas vacías en archivos CAB.
A continuación se muestra un ejemplo de estructura de archivos CAB, que demuestra la relación entre carpetas y archivos:
La forma en que se deben manejar las rutas no se especifica en el formato de archivo CAB, dejándolo en manos de la implementación del software:
El formato de archivo CAB puede emplear los siguientes algoritmos de compresión :
Un archivo CAB puede reservar espacios vacíos en el archivo, así como para cada archivo del mismo, para algunos usos específicos de la aplicación, como firmas digitales o datos arbitrarios.
Microsoft Windows admite la creación de archivos CAB mediante la utilidad makecab
de línea de comandos . Admite la extracción del contenido de archivos CAB mediante el Explorador de archivos , la API de configuración y el uso de los comandos expand.exe
de línea de comandos , [10] extract.exe
y extrac32.exe
. [11] [12]
Otro software conocido compatible con archivos CAB incluye WinZip , WinRAR o 7-Zip . Lo antes mencionado cabextract
es una herramienta común para sistemas Linux, [13] pero solo es capaz de extraer archivos. Sin embargo, la gcab
herramienta puede extraer y crear archivos CAB. [14] Para obtener una lista completa, consulte Comparación de archivadores de archivos § formatos de archivo .
Una variedad de tecnologías de instalación de Microsoft utilizan el formato CAB: incluyen Windows Installer , Setup API , Device Installer, Theme Pack y AdvPack (utilizado por Internet Explorer para instalar componentes ActiveX ). Los archivos CAB también suelen asociarse con programas autoextraíbles como IExpress , donde el programa ejecutable extrae el archivo CAB asociado. Los archivos CAB a veces también se incrustan en otros archivos. Por ejemplo, los archivos MSI y MSU suelen incluir uno o más archivos CAB integrados.
Windows utiliza el formato de archivador para archivar su registro de mantenimiento basado en componentes (CBS), que se guarda en la carpeta C:\Windows\Logs\CBS . Un error en el proceso de compresión puede provocar una generación descontrolada de archivos de registro inútiles tanto en esa carpeta como en C:\Windows\Temp , que pueden consumir almacenamiento en disco hasta llenar completamente el disco duro. [15] [16] La eliminación de archivos sin seguir un procedimiento específico [16] puede hacer que los archivos eliminados se regeneren a un ritmo mayor.
En los sistemas Linux , fwupd utiliza los archivos CAB para distribuir actualizaciones de firmware de proveedores de hardware [17] que pueden actualizarse en una memoria no volátil .
La .cab
extensión del nombre de archivo también la utilizan otros programas de instalación (por ejemplo, InstallShield ) para sus propios formatos de archivo propietarios. InstallShield usa zlib para la compresión (consulte Deflate ), pero sus encabezados no son los mismos que los de los archivos CAB de Microsoft, por lo que son incompatibles y no se pueden manipular ni editar con los programas creados para el formato de gabinete estándar. Las utilidades especializadas de terceros, como Unshield, pueden extraer este formato propietario específico. [18] Este formato tiene un número mágico diferente de ISC ( . [19]
El instalador de Windows CE utiliza una variante del formato CAB de Microsoft con una magia MSCE\0\0\0 . [19] La compresión suele ser NINGUNA, pero también se puede encontrar MSZIP. [20]
Microsoft Publisher tiene una función "Pack and Go" que agrupa un documento del editor, junto con todos los enlaces externos, en un archivo CAB con una .PUZ
extensión. Estos archivos deben activarse con un archivo .EXE complementario que se distribuye junto con el .PUZ
archivo. Estos archivos se pueden abrir con cualquier programa de extracción de archivos CAB.