Команда dism /online /add-package возвращает ошибку 0x80070002, хотя скачанный CAB-файл лежит именно по указанному пути — типичная ситуация при ручной установке обновлений и драйверов в Windows 11, и почти всегда причина в том, что пакет предназначен для другой разрядности или сборки системы. Дальше разберём, как правильно установить CAB-файл, чем отличаются способы для обновлений и драйверов и что делать, когда стандартная команда не срабатывает.
Формат CAB (Cabinet) — это архивный контейнер Microsoft, в котором распространяются накопительные обновления, языковые пакеты, компоненты системы и драйверы устройств. Простым двойным кликом такой файл не устанавливается: Windows лишь откроет его как архив. Для полноценной интеграции пакета в систему нужны специальные инструменты — DISM, PowerShell или PnPUtil.
Что такое CAB-файл и когда он нужен
Пакеты CAB встречаются в нескольких сценариях. Самый частый — ручная установка обновления, скачанного из Каталога Центра обновления Майкрософт (Microsoft Update Catalog), когда штатный Центр обновления Windows не может применить пакет автоматически. Второй сценарий — установка драйвера, который производитель устройства распространяет именно в виде CAB-архива без исполняемого установщика.
Важно понимать разницу между типами содержимого, потому что от неё зависит выбор инструмента:
- 📦 Обновление системы (накопительное, обновление стека обслуживания) — устанавливается через DISM или команду Add-WindowsPackage;
- 🌐 Языковой пакет или компонент — также применяется через DISM, иногда требует перезагрузки;
- 🔧 Драйвер устройства — устанавливается через PnPUtil, DISM с ключом /add-driver или вручную через Диспетчер устройств после распаковки;
- 📁 Просто архив с файлами — иногда CAB нужно не установить, а только распаковать, чтобы достать отдельные файлы.
Определить тип пакета обычно можно по имени файла и источнику загрузки: обновления из каталога Microsoft содержат в названии префикс KB с номером, а драйверные пакеты — название устройства или производителя.
Проверка перед установкой
Прежде чем запускать команды, убедитесь в трёх вещах. Во-первых, файл должен быть скачан полностью — оборванная загрузка даст ошибку при любом способе установки. Во-вторых, пакет должен соответствовать вашей версии и разрядности Windows 11: обновление для сборки 22H2 не всегда применимо к 23H2, а пакет для ARM64 не встанет на систему x64.
В-третьих, проверьте цифровую подпись. Откройте свойства файла через контекстное меню и посмотрите вкладку «Цифровые подписи» — для системных пакетов там должна быть подпись Microsoft. Файлы из неофициальных источников без подписи устанавливать не следует.
Способ 1: установка через DISM
Утилита DISM (Deployment Image Servicing and Management) — штатный инструмент обслуживания образов Windows и основной способ установки CAB-пакетов с обновлениями. Запускать её нужно из командной строки или терминала с правами администратора: нажмите Win + X и выберите «Терминал Windows (администратор)» или «Windows PowerShell (администратор)».
Базовая команда выглядит так:
dism /online /add-package /packagepath:"C:\Updates\windows11-kb5000000-x64.cab"
Путь в кавычках замените на фактический путь к вашему файлу. Проще всего скопировать его через проводник: зажмите Shift, щёлкните по файлу правой кнопкой и выберите «Копировать как путь». После выполнения команды DISM покажет прогресс в процентах и сообщит о результате.
☑️ Установка CAB через DISM — по шагам
Если пакет требует перезагрузки, DISM спросит об этом в конце. Для автоматического подавления перезагрузки (например, в скриптах) добавьте ключ /norestart, но тогда перезагрузите компьютер вручную позже — без этого обновление не вступит в силу полностью.
⚠️ Внимание: не прерывайте работу DISM закрытием окна терминала, даже если прогресс долго «висит» на одном месте. Принудительное прерывание обслуживания может оставить хранилище компонентов в несогласованном состоянии, и тогда придётся запускать восстановление командой dism /online /cleanup-image /restorehealth.
Способ 2: PowerShell и Add-WindowsPackage
Для тех, кто предпочитает PowerShell, есть командлет-обёртка над DISM — Add-WindowsPackage. Откройте PowerShell от имени администратора и выполните:
Add-WindowsPackage -Online -PackagePath "C:\Updates\windows11-kb5000000-x64.cab"
Результат эквивалентен DISM, но синтаксис удобнее для автоматизации: путь можно передавать переменной, а установку нескольких пакетов — организовать циклом. Если в папке лежит несколько CAB-файлов, их можно применить одной конструкцией:
Get-ChildItem "C:\Updates\*.cab" | ForEach-Object { Add-WindowsPackage -Online -PackagePath $_.FullName }
Порядок установки пакетов может иметь значение: обновления стека обслуживания (SSU) рекомендуется применять до накопительных обновлений. Если ставите несколько пакетов вручную, начинайте с SSU, когда он есть в наборе.
Способ 3: установка драйвера из CAB-архива
Драйверные CAB-файлы устанавливаются иначе, чем обновления, и попытка применить их через /add-package часто заканчивается ошибкой. Правильный инструмент для интеграции драйвера в хранилище — PnPUtil:
pnputil /add-driver "C:\Drivers\driver.cab" /install
Однако PnPUtil напрямую работает с INF-файлами, а не всегда с CAB-архивами, поэтому надёжнее сначала распаковать пакет. Сделать это можно встроенной командой expand:
expand "C:\Drivers\driver.cab" -F:* "C:\Drivers\Extracted"
После распаковки есть два пути. Первый — указать Windows папку с драйвером через Диспетчер устройств: найдите нужное устройство, откройте «Обновить драйвер» → «Найти драйверы на этом компьютере» и укажите папку C:\Drivers\Extracted. Второй — добавить все INF из папки командой pnputil /add-driver "C:\Drivers\Extracted\*.inf" /subdirs /install.
Типичные ошибки и их причины
Если установка завершилась сбоем, код ошибки подскажет направление диагностики. Ниже — сводка наиболее встречающихся ситуаций.
| Код ошибки | Вероятная причина | Что проверить |
|---|---|---|
| 0x80070002 | Файл не найден или путь указан неверно | Правильность пути, кавычки, наличие файла |
| 0x800f081e | Пакет не применим к данной системе | Версию и разрядность Windows (winver) |
| 0x8007000d | Файл повреждён или скачан не полностью | Размер файла, повторная загрузка |
| 0x800f0823 | Конфликт с уже установленным пакетом | Список установленных обновлений |
| 0x80004005 | Общий сбой, часто из-за прав доступа | Запуск терминала от имени администратора |
Отдельно стоит упомянуть ситуацию, когда DISM сообщает, что пакет уже установлен, — это не ошибка, а признак того, что обновление уже присутствует в системе. Проверить список установленных пакетов можно командой dism /online /get-packages.
⚠️ Внимание: не устанавливайте CAB-пакеты, предназначенные для других редакций или архитектур Windows. Принудительное применение несовместимого пакета может привести к сбоям загрузки системы, и откат потребует среды восстановления.
Как распаковать CAB без установки
Иногда цель — не установка, а извлечение содержимого: например, достать отдельный DLL-файл или посмотреть состав пакета. Самый простой способ — открыть CAB двойным кликом: проводник Windows покажет содержимое как обычную папку, и файлы можно скопировать. Однако этот метод не всегда корректно обрабатывает пакеты с большим числом вложенных элементов.
Надёжнее использовать упомянутую команду expand с параметром -F:*, который извлекает все файлы, либо сторонние архиваторы вроде 7-Zip — они открывают CAB как обычный архив. Распакованные файлы не интегрируются в систему автоматически, поэтому такой способ безопасен: вы ничего не меняете в Windows, а лишь получаете копии файлов.
Чем CAB отличается от MSU
Файлы MSU — это автономные установщики обновлений, которые запускаются двойным кликом и сами вызывают службу установщика Windows (wusa.exe). CAB — «сырой» контейнер пакета без установщика, поэтому требует DISM или PowerShell. Внутри многих MSU-файлов как раз и находится CAB-пакет.
Удаление установленного пакета
Если после установки обновления появились проблемы, пакет можно откатить. Для этого нужно знать его точное имя в хранилище компонентов — найдите его в выводе dism /online /get-packages по номеру KB, а затем выполните:
dism /online /remove-package /packagename:"Package_for_KB5000000~31bf3856ad364e35~amd64~~10.0.1.0"
Имя пакета подставьте своё из вывода команды — оно всегда индивидуально. Альтернатива без командной строки: «Параметры» → «Центр обновления Windows» → «Журнал обновлений» → «Удалить обновления», где обновления удаляются через привычный интерфейс панели управления.
Частые вопросы
Почему CAB-файл не открывается двойным кликом как установщик?
CAB — это архивный контейнер, а не установщик. Двойной клик лишь показывает содержимое в проводнике. Для установки используйте DISM, PowerShell или PnPUtil в зависимости от типа пакета.
Можно ли установить CAB-файл без прав администратора?
Нет. Установка системных пакетов и драйверов требует повышенных привилегий — терминал обязательно запускается от имени администратора, иначе команды завершатся ошибкой доступа.
Что делать, если DISM выдаёт ошибку 0x800f081e?
Этот код означает, что пакет не применим к вашей системе. Проверьте через winver версию и сборку Windows 11, убедитесь, что скачали пакет для правильной архитектуры (x64 или ARM64), и сверьте требования на странице загрузки в каталоге Microsoft.
Как установить сразу несколько CAB-файлов из одной папки?
Используйте цикл в PowerShell: Get-ChildItem "C:\Updates\*.cab" | ForEach-Object { Add-WindowsPackage -Online -PackagePath $_.FullName }. Если среди пакетов есть обновление стека обслуживания (SSU), ставьте его первым.
Можно ли удалить CAB-файл после установки?
Да. После успешной установки и перезагрузки сам файл-архив больше не нужен системе — пакет уже интегрирован в хранилище компонентов. Удаление исходного CAB-файла не влияет на установленное обновление или драйвер.