Кабинет (или CAB ) - это формат файла архива для Microsoft Windows, который поддерживает сжатие данных без потерь и встроенные цифровые сертификаты, используемые для поддержания целостности архива. CAB-файлы имеют .cab
расширения файлов и распознаются по их первым четырем байтам (также называемым их магическим числом ) MSCF . Файлы кабинета изначально были известны как алмазные файлы.
Расширение имени файла | .такси |
---|---|
Тип интернет-СМИ | приложение / vnd.ms-cab-сжатый |
Единый идентификатор типа (UTI) | public.archive.cab |
Конформация ИМП | public.data public.archive |
Магическое число | MSCF |
Разработано | Microsoft |
Тип формата | Формат файла архива |
Дизайн
CAB-архив может содержать до 65535 папок (в отличие от стандартных каталогов операционной системы), каждая из которых может содержать до 65535 файлов. Внутри каждая папка обрабатывается как один сжатый блок , что обеспечивает более эффективное сжатие, чем индивидуальное сжатие каждого файла.
Каждая запись в папке должна быть файлом. [1] Из-за такой структуры невозможно хранить пустые папки в архивах CAB.
Ниже показан пример файловой структуры CAB, демонстрирующий взаимосвязь между папками и файлами:
- CAB файл
- Первая папка
Records/Student_01.tsv
Records/Photos/Student_01.jpg
- Вторая папка
Records/Student_02.tsv
Records/Photos/Student_02.jpg
- Первая папка
Как следует обрабатывать пути, не указывается в формате файла CAB, оставляя это на усмотрение программной реализации:
- Некоторые прикрепляют пути к файлам только к именам файлов, как будто все файлы в CAB-архиве находятся в одной папке. IExpress работает таким же образом, как и проводник Microsoft Windows Explorer, который может открывать архивы CAB в виде папки.
- Некоторые могут хранить пути и при извлечении создавать папки по мере необходимости. CABARC.EXE и EXTRACT.EXE (инструменты из Microsoft Cabinet SDK [2] ), а также
lcab
[3] иcabextract
[4] (сторонние инструменты с открытым исходным кодом ) работают таким образом. - EXPAND.EXE , только начиная с версии 6 (которая входит в состав Windows Vista и выше) может извлекать файлы по их путям. Предыдущие версии этого не делают. [5]
Формат файла CAB может использовать следующие алгоритмы сжатия :
- DEFLATE : изобретен Филом Кацем , автором формата файла ZIP (в частности, инкапсуляции MSZIP) [6]
- Квантовое сжатие : по лицензии Дэвида Стаффорда, автора архиватора Quantum (доступно не во всех версиях makecab.exe / diamond.exe)
- LZX : изобретен Джонатаном Форбсом и Томи Поутаненом, передан Microsoft, когда Forbes присоединился к компании.
- NULL: хранится
В CAB-архиве можно зарезервировать пустые места в архиве, а также для каждого файла в архиве для некоторых приложений, связанных с использованием, таких как цифровые подписи или произвольные данные.
Реализации
Microsoft Windows поддерживает создание файлов архива CAB с помощью утилиты makecab
командной строки . Он поддерживает извлечение содержимого архива CAB - файлов с помощью File Explorer , Setup API , и с помощью командной строки команды expand.exe
, [7] extract.exe
и extrac32.exe
. [8] [9]
Другое известное программное обеспечение с поддержкой архивов CAB включает WinZip , WinRAR или 7-Zip . Вышеупомянутое cabextract - распространенный инструмент для систем Linux [ необходима ссылка ] . Однако меньшее количество программ может создавать архивы CAB. Полный список см. В разделе Сравнение файловых архиваторов § форматов архивов .
Использует
Формат CAB используется в различных технологиях установки Microsoft : к ним относятся установщик Windows , API установки , установщик устройства и AdvPack (используемый Internet Explorer для установки компонентов ActiveX ). Файлы CAB также часто ассоциируются [ кем? ] с самораспаковывающимися программами, такими как IExpress, где исполняемая программа извлекает связанный файл CAB. Файлы CAB также иногда встраиваются в другие файлы. Например, файлы MSI и MSU обычно включают один или несколько встроенных файлов CAB.
Windows использует формат CAB для архивации журнала обслуживания на основе компонентов (CBS), который хранится в папке C:\Windows\Logs\CBS
. Ошибка в процессе сжатия может вызвать неконтролируемое создание бесполезных файлов журнала как в этой папке, так и в ней C:\Windows\Temp
, которые могут занимать дисковое пространство до полного заполнения жесткого диска. [10] [11] Удаление файлов без выполнения специальной процедуры [11] может привести к ускоренному восстановлению удаленных файлов.
Связанные форматы
Расширение .cab
имени файла также используется другими программами установки (например, InstallShield ) для их собственных проприетарных форматов архивирования. InstallShield использует zlib для сжатия (см. Deflate ), но их заголовки не такие же, как у файлов Microsoft CAB, поэтому они несовместимы и не могут быть изменены или отредактированы с помощью программ, которые созданы для стандартного формата CAB. Специализированные сторонние утилиты, такие как Unshield, могут извлекать этот особый проприетарный формат. [12] У этого формата другое магическое число ISC ( . [13]
Установщик Windows CE использует вариант формата Microsoft CAB с MSCE \ 0 \ 0 \ 0 магия. [13] Сжатие обычно НЕТ, но также можно найти MSZIP. [14]
Microsoft Publisher имеет функцию «Pack and Go», которая объединяет документ издателя вместе со всеми внешними ссылками в CAB-файл с .PUZ
расширением. Эти файлы предназначены для активации с помощью сопутствующего файла .EXE, который распространяется вместе с .PUZ
файлом. Эти файлы можно открыть с помощью любой программы для извлечения файлов CAB.
Смотрите также
- Список форматов архивов
Рекомендации
- ^ Формат кабинета Microsoft
- ^ "Пакет разработки программного обеспечения Microsoft Cabinet" . Поддержка . Microsoft . Проверено 27 марта 2013 года .
- ^ "ЛКАБ" . Свободный код . Игральные кости . Проверено 27 марта 2013 года .
- ^ «кабэкстракт» .
- ^ «[Недокументированное] [Ошибки] Expand.exe (подробнее) (Страница 1) / Windows CMD Shell / SS64 Forum» . ss64.org . Проверено 21 апреля 2018 года .
- ^ «[MS-MCI]: Структура данных сжатия и распаковки Microsoft ZIP (MSZIP)» . docs.microsoft.com .
- ^ развернуть - Windows CMD - SS64.com
- ^ Как извлечь CAB-файл с помощью инструментов командной строки в Windows 10
- ^ Extrac32 - Распаковать файлы - Windows CMD - SS64.com
- ^ «Очистить журналы обслуживания на основе компонентов» . Microsoft TechNet . 7 июля 2017.
- ^ а б Леонард, Вуди (25 августа 2016 г.). «Ошибка сжатия файла журнала Windows 7 может заполнить ваш жесткий диск» . Компьютерный мир . Проверено 8 января 2019 .
- ^ "двудо / нещит" . GitHub . Проверено 21 апреля 2018 года .
- ^ а б "kyz / libmspack: doc / magic" . GitHub .
- ^ "Формат файла установочного шкафа Windows CE (.CAB)" . кабэкстракт .
Внешние ссылки
- Microsoft Cabinet SDK - обновленные версии этих ресурсов доступны в Microsoft Windows SDK.
- Комплект разработчика программного обеспечения для кабинета (CAB SDK) - загрузка всех версий Microsoft CAB SDK (бесплатно)