Cabinet (o CAB ) es un formato de archivo 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 de .cab
contenedor tienen extensiones de nombre de archivo y se reconocen por sus primeros cuatro bytes (también llamados su número mágico ) MSCF . Los archivos del gabinete se conocían originalmente como archivos Diamond.
Extensión de nombre de archivo | .taxi |
---|---|
Tipo de medio de Internet | application / vnd.ms-cab-compressed |
Identificador de tipo uniforme (UTI) | public.archive.cab |
Conformación de UTI | public.data public.archive |
número mágico | MSCF |
Desarrollado por | Microsoft |
Tipo de formato | Formato de archivo de archivo |
Diseño
Un archivo CAB puede contener hasta 65535 carpetas (distintas de los directorios del sistema operativo estándar), cada una de las cuales puede contener hasta 65535 archivos. Internamente, cada carpeta se trata como un solo bloque comprimido , lo que proporciona una compresión más eficiente que la compresión individual de cada archivo.
Cada entrada en una carpeta debe 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 una estructura de archivo CAB, que demuestra la relación entre carpetas y archivos:
- Archivo CAB
- Primera carpeta
Records/Student_01.tsv
Records/Photos/Student_01.jpg
- Segunda carpeta
Records/Student_02.tsv
Records/Photos/Student_02.jpg
- Primera carpeta
La forma en que se deben manejar las rutas no se especifica en el formato de archivo CAB, dejándolo a la implementación del software:
- Algunos agregan rutas de archivo solo a nombres de archivo, como si todos los archivos de un archivo CAB estuvieran en una sola carpeta. IExpress funciona de esta manera, al igual que Microsoft Windows Explorer, que puede abrir archivos CAB como una carpeta.
- Algunos pueden almacenar las rutas y, tras la extracción, crear carpetas según sea necesario. CABARC.EXE y EXTRACT.EXE (herramientas de Microsoft Cabinet SDK [2] ) así como
lcab
[3] ycabextract
[4] ( herramientas de código abierto de terceros ) funcionan de esta manera. - EXPAND.EXE , solo desde la versión 6 (que se incluye desde Windows Vista hasta arriba) puede extraer archivos a sus rutas. Las versiones anteriores no lo hacen. [5]
El formato de archivo CAB puede emplear los siguientes algoritmos de compresión :
- DEFLATE : inventado por Phil Katz , el autor del formato de archivo ZIP (específicamente, la encapsulación MSZIP) [6]
- Compresión cuántica : con licencia de David Stafford, autor del archivador Quantum (no disponible en todas las versiones de makecab.exe / diamond.exe)
- LZX : inventado por Jonathan Forbes y Tomi Poutanen, dado a Microsoft cuando Forbes se unió a la empresa
- NULL: almacenado
Un archivo CAB puede reservar espacios vacíos en el archivo, así como para cada archivo en el archivo, para algunos usos específicos de la aplicación, como firmas digitales o datos arbitrarios.
Implementaciones
Microsoft Windows admite la creación de archivos CAB mediante la utilidad de makecab
línea de comandos. Admite la extracción del contenido de un archivo CAB mediante el Explorador de archivos , la API de configuración y los comandos de la línea de comandos expand.exe
, [7] extract.exe
y extrac32.exe
. [8] [9]
Otro software conocido con soporte de archivo CAB incluye WinZip , WinRAR o 7-Zip . Lo antes mencionado cabextract es una herramienta común para los sistemas Linux [ cita requerida ] . Sin embargo, pocos programas pueden crear archivos CAB. Para obtener una lista completa, consulte Comparación de archivadores de archivos § formatos de archivo .
Usos
Una variedad de tecnologías de instalación de Microsoft utilizan el formato CAB: estos incluyen Windows Installer , Setup API , Device Installer y AdvPack (utilizado por Internet Explorer para instalar componentes ActiveX ). Los archivos CAB también suelen estar asociados [¿ por quién? ] con programas autoextraíbles como IExpress donde el programa ejecutable extrae el archivo CAB asociado. A veces, los archivos CAB también se incrustan en otros archivos. Por ejemplo, los archivos MSI y MSU generalmente incluyen uno o más archivos CAB incrustados.
Windows usa el formato de contenedor 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 la generación de archivos de registro inútiles tanto en esa carpeta como en ella C:\Windows\Temp
, lo que puede consumir almacenamiento en disco hasta llenar completamente el disco duro. [10] [11] La eliminación de archivos sin seguir un procedimiento específico [11] puede hacer que los archivos eliminados se regeneren a un ritmo mayor.
Formatos relacionados
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 patentados. 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 que están hechos para el formato de contenedor estándar. Las utilidades especializadas de terceros, como Unshield, pueden extraer este formato propietario específico. [12] Este formato tiene un número mágico diferente de ISC ( . [13]
El instalador de Windows CE utiliza una variante del formato CAB de Microsoft con un MSCE \ 0 \ 0 \ 0 magia. [13] Normalmente, la compresión es NINGUNA, pero también se puede encontrar MSZIP. [14]
Microsoft Publisher tiene una función "Empaquetar y listo" que agrupa un documento del editor, junto con todos los enlaces externos, en un archivo CAB con .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.
Ver también
- Lista de formatos de archivo
Referencias
- ^ Formato de gabinete de Microsoft
- ^ "Kit de desarrollo de software de gabinete de Microsoft" . Soporte . Microsoft . Consultado el 27 de marzo de 2013 .
- ^ "lcab" . Código libre . Dados . Consultado el 27 de marzo de 2013 .
- ^ "cabextract" .
- ^ "[Cambio sin documentar] [Errores] Expand.exe (más sobre esto) (Página 1) / Windows CMD Shell / Foro SS64" . ss64.org . Consultado el 21 de abril de 2018 .
- ^ "[MS-MCI]: Estructura de datos de compresión y descompresión de Microsoft ZIP (MSZIP)" . docs.microsoft.com .
- ^ expandir - CMD de Windows - SS64.com
- ^ Cómo extraer el archivo CAB usando herramientas de línea de comando en Windows 10
- ^ Extrac32 - Descomprimir archivos - CMD de Windows - SS64.com
- ^ "Limpiar registros de mantenimiento basados en componentes" . Microsoft TechNet . El 7 de julio de 2017.
- ^ a b Leonhard, Woody (25 de agosto de 2016). "El error de compresión del archivo de registro de Windows 7 puede llenar su disco duro" . Computerworld . Consultado el 8 de enero de 2019 .
- ^ "dos bueno / desproteger" . GitHub . Consultado el 21 de abril de 2018 .
- ^ a b "kyz / libmspack: doc / magic" . GitHub .
- ^ "Formato de archivo del gabinete de instalación de Windows CE (.CAB)" . cabextract .
enlaces externos
- SDK de Microsoft Cabinet : las versiones actualizadas de estos recursos están disponibles en el SDK de Microsoft Windows
- Kit de desarrollo de software de gabinete (CAB SDK) : descargas de todas las versiones de Microsoft CAB SDK (gratis)