- Извлечение файлов из архивов формата .cab в операционных системах Windows.
- Как извлечь CAB-файл с помощью инструментов командной строки в Windows 10/8/7
- expand.exe
- Makecab.exe
- extrac32
- Извлечь CAB-файл с помощью командной строки
- Установка CAB и MSU файлов обновлений Windows в ручном режиме
- Где скачать MSU файл обновления Windows
- Установка MSU файла обновления в Windows
- Как извлечь CAB файл из пакета обновлений MSU
- Установка CAB файла обновлений в Windows 10
Извлечение файлов из архивов формата .cab в операционных системах Windows.
Cabinet (.cab) — формат файлов архивов, применяющийся в операционных системах семейства Microsoft Windows. Формат поддерживает сжатие и цифровые подписи. Используется в различных технологиях установщиков Microsoft. Для создания архивов формата .cab имеется стандартная утилита командной строки makecab.exe . Для извлечения — extrac32.exe .
Формат командной строки EXTRAC32:
EXTRACT [/Y] [/A] [/D | /E] [/L dir] cabinet [filename . ]
EXTRACT [/Y] source [newname]
EXTRACT [/Y] /C source destination
Параметры командной строки:
cabinet — cab -файл, содержащий 2 и более сжатых файлов.
filename -имя файла, который должен быть извлечен из архива .cab . Допускается несколько имен, разделенных пробелом или задание шаблона имени.
source — исходный сжатый файл (одиночный сжатый файл в формате cabinet ).
newname — новое имя файла, присваиваемое извлекаемому из архива. Если не указано – используется исходное.
/A — обрабатывать все архивы из множества, указанного в первом.
/C — копировать архив в каталог для распакованных файлов.
/D — отображать пути файлов.
/E — извлечь все файлы из данного архива .cab /L dir — путь каталога для извлекаемых файлов.
/Y — не спрашивать подтверждение на перезапись существующих файлов.
extrac32 /E disk1.cab /L C:\DataCAB — извлечь все файлы из архива disk1.cab в каталог DataCAB на диске C:
extrac32 /E /A c:\disk1\1.cab /L c:\DataCAB — извлечь все файлы из составного архива, находящегося в каталогах disk1, disk2, …
Как извлечь CAB-файл с помощью инструментов командной строки в Windows 10/8/7
В среде Windows CAB относится к файлам Cabinet – формат файла архива для Microsoft Windows. Формат поддерживает сжатие данных и встроенные цифровые сертификаты, используемые для поддержания целостности архива. Используя этот формат файла, пользователь может хранить несколько файлов/папок в одном файле с использованием сжатия данных в этом архиве или без него.
Windows может разархивировать или извлечь содержимое сжатого файла, так как он изначально совместим с CAB-файлами. Кроме того, ОС может создавать, извлекать или перестраивать CAB-файлы. Это означает, что для этой задачи вам не требуется никакого дополнительного стороннего программного обеспечения. Все CAB-файлы можно разархивировать с помощью основных инструментов командной строки Windows.
Существует три встроенных средства командной строки Windows для работы с CAB-файлами:
expand.exe
Чтобы увидеть параметр командной строки, доступный для expand.exe, откройте окно командной строки, введите следующее и нажмите Enter:
Makecab.exe
Чтобы увидеть параметр командной строки, доступный для makecab.exe, откройте окно командной строки, введите следующее и нажмите Enter:
extrac32
Чтобы увидеть параметр командной строки, доступный для extrac32, откройте окно командной строки, введите следующее и нажмите Enter:
Извлечь CAB-файл с помощью командной строки
Чтобы извлечь содержимое файлов Cab, вы можете использовать любой из вышеперечисленных инструментов. Давайте возьмем пример инструмента expand.exe .
Чтобы извлечь содержимое CAB-файла, сначала измените каталог, чтобы указать местоположение источника с помощью команды CD, а затем выполните следующую команду:
Здесь вы извлекаете содержимое файла TWC.cab в C: \ TWCFolder . -F – это количество файлов для расширения. Когда вы используете «*», это означает, что все файлы.
По завершении инструмент отобразит полный список извлеченных файлов.
Закройте окна командной строки и перейдите в Windows Explorer. Там вам будет виден полный список полностью извлеченной файловой структуры.
Кстати, несколько бесплатных программ для сжатия файлов, включая 7-Zip, позволяют легко сжимать или извлекать содержимое CAB-файла в системе Windows.
Установка CAB и MSU файлов обновлений Windows в ручном режиме
Обновления для операционной системы Windows выпускаются в виде пакетов с расширением MSU или CAB. В том случае, если не работает (специально отключен) штатный функционал службы Windows Update (Центра обновления Windows), нужные для системы накопительные обновления или обновления безопасности можно скачать и установить вручную в офлайн режиме. В этой статье мы покажем, как в Windows 10 скачать и установить обновления в формате MSU и CAB файлов.
Где скачать MSU файл обновления Windows
Microsoft изначально выпускает свои обновления и патчи в формате CAB файла. Именно в таком виде ваш компьютер получает обновления с серверов обновления Microsoft или локального сервера WSUS. Для более удобного ручного распространения отдельных обновлений клиентами через каталог обновлений Microsoft, данные CAB файлы упаковываются в специальный формат MSU (Microsoft Update Standalone Package).
Скачать MSU файлы обновлений Windows (а в некоторых случаях и CAB)и других продуктов MSFT можно в каталоге обновлений Microsoft (https://www.catalog.update.microsoft.com/). Перейдите в Microsoft Update Catalog, найдите и скачайте нужное обновление. К примеру, я хочу установить обновление безопасности для Adobe Flash Player под Windows 10 x64 1507 – KB4056887. Нажмите на кнопку Download.
Переместите скачанный файл windows10.0-kb4056887-x64_fca8a311f0495e669715ae5aa0e0d8720f945049.msu в каталог C:\temp. Переименуйте файл на более короткое имя — windows10.0-kb4056887-x64.msu
Установка MSU файла обновления в Windows
Для запуска установки пакета обновления в Windows достаточно дважды щёлкнуть по скачанному MSU файлу. Если обновление применимо к данному компьютеру, откроется диалоговое окно Автономного установщика обновлений Windows (Windows Update Standalone Installer), в котором нужно подтвердить установку апдейта.
Кроме того, установить msu пакет обновления можно и из командной строки с помощью утилиты wusa.exe.
Для установки обновления в «тихом» режиме (пользователю не будут показываться никакие всплывающие окна) с отложенной перезагрузкой, откройте командную строку с правами администратора и выполните команду:
wusa.exe c:\Temp\windows10.0-kb4056887-x64.msu /quiet /norestart
Через некоторое время убедимся, что обновление установлено успешно, выполнив команду:
wmic qfe list | findstr 4056887
Или найдя в журнале событий Установка (Event Viewer -> Windows Logs -> Setup) запись с Event ID 2 от источника WUSA с текстом:
Как извлечь CAB файл из пакета обновлений MSU
В некоторых случаях, когда служба Windows Update, которую использует утилита wusa, работает некорректно (попробуйте для начала выполнить сброс настроек агента обновления Windows), установить обновление в формате MSU не получается. В этом случае можно вручную распаковать пакет MSU, извлечь из него CAB файл обновления и вручную установить его в системе.
Чтобы распаковать MSU пакет в каталог C:\Temp\kb4056887 (каталог нужно предварительно создать), выполните следующую команду:
expand _f:* “C:\Temp\windows10.0-kb4056887-x64.msu” C:\Temp\kb4056887
Как вы видите в каталоге появилось 4 типа файлов:
- .xml файл (Windows10.0-KB4056887-x64.xml) — содержит метаданные пакета msu и используется программой Wusa.exe
- .cab файл (Windows10.0-KB4056887-x64.cab — один или несколько)– непосредственно архив с обновлением Windows
- *pkgProperties.txt файл (Windows10.0-KB4056887-x64-pkgProperties.txt)– содержит свойства пакета (дата выпуска, архитектура, тип пакета, ссылка на KB и т.д.)
Установка CAB файла обновлений в Windows 10
Установить CAB файл обновления, полученный из MSU пакета можно двумя способами.
Наиболее универсальный способ установки обновления из CAB файл – утилита DISM.exe. Команда установки может быть такой:
DISM.exe /Online /Add-Package /PackagePath:c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab
Если нужно установить CAB пакет в тихом режиме и подавить запрос на перезагрузку компьютера после установки обнволения, команда DISM будет такой:
start /wait DISM.exe /Online /Add-Package /PackagePath: c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab /Quiet /NoRestart
В Windows 8 и Windows 7 можно установить обновление через менеджер пакетов Pkgmgr. Команда:
start /w Pkgmgr /ip /m:c:»c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab»
Примечание. В Windows 10 / Windows Server 2016 менеджер пакетов PkgMgr.exe более не поддерживается. При его запуске появляется предупреждении о необходимости использовать для управления пакетами DISM.exe.
Note: The PkgMgr.exe has been deprecated. Please update your scripts to use dism.exe to extract, install, uninstall, configure and update features and packages for Windows.
Данная инструкция по ручной установке накопительных (если вы не помните что это такое, прочитайте статью про новую модель обновлений Windows систем) и любых других обновлений Windows применима ко всем поддерживаемым версиям ОС: Windows 10 / 8.1 / 7 и Windows Server 2016 / 2012 / R2 / 2008 / R2.
Просто отличный мануал по использованиею MSU и CAB файлов в Windows Update — автору руспект.
Статья хорошая и обновления CAB и MSU распаковываются, устанавливаются без проблем.Однако у меня есть проблема с командами Dism в Windows 7 sp1 Home Premium x 64 .Я установил на Virtual box свой windows чтобы там посмотреть как правильно распаковать msu и cab обновления, чтобы получить пакеты обновлений для добавления в свой iso образ.Пакеты обновлений получил и стал тестировать команды dism.Этот список команд работает без проблем и в логе dism только info есть:
DISM.exe /Get-WimInfo /WimFile:C:\test\images\myimage.wim
DISM.exe /Mount-Wim /WimFile:C:\test\images\myimage.wim /index:2 /MountDir:C:\test\offline
DISM.exe /Get-MountedWimInfo — Проверяет подключенные образы
DISM.exe /Commit-Wim /MountDir:C:\test\offline — Сохраняет изменения образа
DISM.exe /Unmount-Wim /MountDir: /commit — Сохраняет и отключает образ
DISM.exe /Unmount-Wim /MountDir: /discard -отключает образ
DISM.exe /Cleanup-Wim -удаляет ресурсы с поврежденными образами
А вот при использовании команды:
DISM.exe /image:C:\test\offline /LogPath:C:\log\AddPackage.log /LogLevel:2 /Add-Package /PackagePath:C:\packages
В логе AddPackage при каждом успешном добавлении пакета обновления проблема возникает:
Warning DISM DISM Provider Store: PID=3388 Failed to Load the provider: C:\Users\Koks\AppData\Local\Temp\1DFA6FEB-EE3C-444A-B7E4-89A752AD4A9F\PEProvider.dll. — CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
И так warning возникает при добавлении любых обновлений.
Нужен совет как решить эту проблему.Также хотелось бы узнать из-за чего возникает warning.И интересует будет ли работать корректно мой образ win7 c добавленными пакетами обновлений с указанной выше проблемой.Или лучше пересобрать свой iso образ.
На мой взгляд, раз это всего лишь Warning, то проблем быть не должно.
В любом случае проверьте ваш wim образ с помощью dism /Cleanup-Image /CheckHealth и dism /cleanup-image /RestoreHealth
Вроде бы так:
DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:X:\Sources\Install.wim:1 /LimitAccess
Добрый день. Задача раскидать патчи по компам в домене. Будет ли работать следующая команда. Интересует именно скрипт/команда на wmi /cmd, т.к pshell remote не везде поднят. Спасибо.
============
wmic /node:»pc1″ /user:»admin» /privileges:enable process call create «DISM.exe /Online /Add-Package /PackagePath: c:\kb4012212.cab /Quiet /NoRestart»
============
Пока могу сказать лишь, что почему то не работает. Висит wuauclt.exe в процессах, но патч не ставится…Если не сложно укажите на ошибку.
В данном случае вы хотите установить обновления через cab файлы, а не MSU. Процесс wuauclt.exe при этом не используется. Установка обнвления напрямую в образ пойдет через DISM.
1) Вы предварительно скопировали на все компьютеры cab файл, чтобы он был везде доступен по пути c:\kb4012212.cab
2) Насколько я помню, через DISM можно было добавлять cab пакет даже по сети.
Попробуйте такую команду:
wmic /node:»pc1″ process call create «DISM.exe /Online /Add-Package /PackagePath:\\server1\updates\kb4012212.cab»
А как найти и достать из cab конретную dll?
Файл CAB также можно распаковать как архив, но там нет именно dll файлов. Возможно какая-то инфа есть в .manifes, но врядли. Наверно проще всего сделать снимок системы, установить обовление, скопировать нужную dll и откатить состояние обратно.
В команде expand и на скрине выполнения этой команды есть ошибка: _ вместо —
Должно быть так:
expand -f:* “C:\Temp\windows10.0-kb4056887-x64.msu” C:\Temp\kb4056887