Кабинет (формат файла) - Cabinet (file format)
Эта статья возможно содержит оригинальные исследования.Октябрь 2020) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Расширение имени файла | .такси |
---|---|
Тип интернет-СМИ | приложение / vnd.ms-cab-сжатый |
Единый идентификатор типа (UTI) | public.archive.cab |
Конформация ИМП | public.data public.archive |
Магическое число | MSCF |
Разработан | Microsoft |
Тип формата | Формат файла архива |
Кабинет (или же ТАКСИ) является формат файла архива за Майкрософт Виндоус что поддерживает сжатие данных без потерь и встроенный цифровые сертификаты используется для поддержания целостности архива. Кабинетные файлы имеют .такси
расширения файлов и распознаются по их первым 4 байтам MSCF. Файлы кабинета первоначально были известны как файлы Diamond.
Дизайн
CAB-архив может содержать до 65535 папки (в отличие от стандартных каталогов операционной системы), каждый из которых может содержать до 65535 файлов. Внутри каждая папка рассматривается как одиночный сжатый блок, который обеспечивает более эффективное сжатие, чем сжатие каждого файла по отдельности.
Каждая запись в папке должна быть файлом.[1] Из-за такой структуры невозможно хранить пустые папки в архивах CAB.
Ниже показан пример файловой структуры CAB, демонстрирующий взаимосвязь между папками и файлами:
- CAB файл
- Первая папка
Записи / Student_01.tsv
Записи / Фото / Student_01.jpg
- Вторая папка
Записи / Student_02.tsv
Записи / Фото / Student_02.jpg
- Первая папка
Как следует обрабатывать пути, не указывается в формате файла CAB, оставляя это на усмотрение программной реализации:
- Некоторые прикрепляют пути к файлам только к именам файлов, как будто все файлы в CAB-архиве находятся в одной папке. IExpress работает таким же образом, как и проводник Microsoft Windows, который может открывать архивы CAB в виде папки.
- Некоторые могут хранить пути и при извлечении создавать папки по мере необходимости. CABARC.EXE и EXTRACT.EXE (инструменты из Microsoft Cabinet SDK[2]) а также
lcab
[3] икабакэкстракт
[4] (третья сторона Открытый исходный код tools) работают таким образом. - EXPAND.EXE, только начиная с версии 6 (которая входит в состав Windows Vista и выше) может извлекать файлы по их путям. В предыдущих версиях этого не было.[5]
Формат файла CAB может использовать следующие алгоритмы сжатия:
- ВЫПУСКАТЬ: изобретено Фил Кац, автор Формат файла ZIP (в частности, инкапсуляция MSZIP)[6]
- Квантовое сжатие: по лицензии Дэвида Стаффорда, автора архиватора Quantum
- LZX: изобретено Джонатан Форбс и Томи Поутанен, подаренный Microsoft, когда Forbes присоединился к компании.
- NULL: хранится
В CAB-архиве можно зарезервировать пустые места в архиве, а также для каждого файла в архиве для некоторых приложений, связанных с использованием цифровых подписей или произвольных данных.
Реализации
Майкрософт Виндоус поддерживает создание файлов архива CAB с помощью makecab
командная строка полезность. Он поддерживает извлечение содержимого файлов архива CAB с помощью Проводник, Настройка API и используя командную строку команды expand.exe
,[7] extract.exe
и extrac32.exe
.[8][9]
Другое известное программное обеспечение с поддержкой архивов CAB включает: WinZip, WinRAR или же 7-молния. Вышеупомянутое кабакэкстракт это обычный инструмент для систем GNU / Linux[нужна цитата ]. Однако меньшее количество программ может создавать архивы CAB. Полный список см. Сравнение файловых архиваторов § форматы архивов.
Использует
Разнообразие Microsoft технологии установки используют формат CAB: они включают Установщик Windows, Настройка API, Установщик устройства и AdvPack (использован Internet Explorer установить ActiveX составные части). Файлы CAB также часто связаны[кем? ] с самораспаковывающимися программами, такими как IExpress где исполняемая программа извлекает связанный файл CAB. Файлы CAB также иногда встраиваются в другие файлы. Например, MSI и МГУ файлы обычно включают один или несколько встроенных файлов CAB.
Windows использует формат CAB для архивирования своих Компонентное обслуживание (CBS) журнал, который хранится в папке C: Windows Logs CBS
. Ошибка в процессе сжатия может вызвать неконтролируемое создание бесполезных файлов журнала как в этой папке, так и в C: Windows Temp
, который может занимать дисковое пространство до полного заполнения жесткого диска.[10][11] Удаление файлов без выполнения определенной процедуры[11] может вызвать ускоренное восстановление удаленных файлов.
Связанные форматы
В .такси
расширение имени файла также используется другими программами установки (например, InstallShield ) для собственных проприетарных форматов архивирования. InstallShield использует zlib для сжатия (см. Сдувать ), но их заголовки не такие, как у файлов Microsoft CAB, поэтому они несовместимы и не могут быть изменены или изменены с помощью программ, созданных для стандартного формата Cabinet. Специализированные сторонние утилиты, такие как Unshield, могут извлекать этот особый проприетарный формат.[12] Этот формат имеет другое магическое число ISC (.[13]
Установщик Windows CE использует вариант формата Microsoft CAB с МСКЭ 0 0 0 магия.[13] Сжатие обычно НЕТ, но также можно найти MSZIP.[14]
Microsoft Publisher имеет функцию «Pack and Go», которая объединяет документ издателя вместе со всеми внешними ссылками в CAB-файл с .PUZ
расширение. Эти файлы предназначены для активации с помощью сопутствующего файла .EXE, который распространяется вместе с .PUZ
файл. Эти файлы можно открыть любой программой для извлечения файлов CAB.
Смотрите также
Рекомендации
- ^ Формат кабинета Microsoft
- ^ «Комплект для разработки программного обеспечения Microsoft Cabinet». Поддерживать. Microsoft. Получено 27 марта 2013.
- ^ "lcab". Freecode. Игральная кость. Получено 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 может заполнить ваш жесткий диск». Computerworld. Получено 8 января 2019.
- ^ "twogood / unshield". GitHub. Получено 21 апреля 2018.
- ^ а б "kyz / libmspack: doc / magic". GitHub.
- ^ "Формат файла установочного шкафа Windows CE (.CAB)". кабакэкстракт.
внешняя ссылка
- Пакет SDK для Microsoft Cabinet - обновленные версии этих ресурсов доступны в Microsoft Windows SDK
- Развернуть Справочник по командам - Документация по продукту Windows XP Professional
- Комплект разработчика программного обеспечения для кабинета (CAB SDK) - загрузка всех версий Microsoft CAB SDK (бесплатно)