PKGMGR (Package Manager) — утилита командной строки Windows для управления программными пакетами: установки, обновления, удаления компонентов ОС и сторонних пакетов без графического интерфейса. Применяется системными администраторами для автоматизации развёртывания компонентов Windows и управления обновлениями в корпоративной среде.
- Синтаксис команды PKGMGR
- Ключи и параметры
- Примеры использования
- Включить клиент Telnet
- Установить пакет из .cab-файла
- Обновить существующий пакет
- Отключить компонент Windows
- Пакетная установка через XML
- Просмотр справки
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Чем PKGMGR отличается от DISM?
- Нужно ли перезагружать компьютер после PKGMGR?
- Можно ли использовать PKGMGR в Windows 10?
- Как узнать имя компонента для ключа /iu?
- Что означает код ошибки 0x800F0922?
- Как отменить установку пакета, выполненную через PKGMGR?
Синтаксис команды PKGMGR
PKGMGR [/ip /m:путь_к_пакету] [/iu:имя_компонента] [/up /m:путь_к_пакету]
[/uu:имя_компонента] [/l:файл_лога] [/n:путь_к_xml] [/quiet] [/?] Плейсхолдеры:
путь_к_пакету— полный путь к файлу пакета (.cab или папке с manifest)имя_компонента— системное имя компонента Windows (например,IIS-WebServerRole)файл_лога— путь к файлу, куда записывается лог операциипуть_к_xml— путь к XML-файлу с описанием пакетов для пакетных операций
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/ip | Установить пакет из указанного пути (install package) | PKGMGR /ip /m:C:\pkg\update.cab |
/iu | Включить компонент Windows по имени (install update) | PKGMGR /iu:TelnetClient |
/up | Обновить пакет (update package) | PKGMGR /up /m:C:\pkg\update.cab |
/uu | Отключить компонент Windows (uninstall update) | PKGMGR /uu:TelnetClient |
/l | Сохранить лог операции в файл | PKGMGR /iu:TelnetClient /l:C:\log.txt |
/n | Использовать XML-файл для пакетной операции | PKGMGR /n:C:\packages.xml |
/quiet | Тихий режим — без запросов подтверждения | PKGMGR /iu:TelnetClient /quiet |
/norestart | Не перезагружать систему после установки | PKGMGR /ip /m:C:\pkg\update.cab /norestart |
/? | Показать справку по команде | PKGMGR /? |
Примеры использования
Включить клиент Telnet
Компонент Telnet отключён по умолчанию. Включить его можно одной командой без перехода в «Панель управления».
PKGMGR /iu:TelnetClient
После выполнения команда telnet станет доступна в командной строке без перезагрузки.
Установить пакет из .cab-файла
Используется при ручной установке обновления или компонента, загруженного отдельно.
PKGMGR /ip /m:C:\Updates\KB123456.cab /quiet /norestart
Пакет установится в тихом режиме; перезагрузка не произойдёт автоматически.
Обновить существующий пакет
Если пакет уже установлен и нужно применить новую версию:
PKGMGR /up /m:C:\Updates\KB123456_new.cab
Система заменит старую версию пакета новой.
Отключить компонент Windows
Чтобы отключить встроенный компонент, например игры Windows:
PKGMGR /uu:WindowsGames
Компонент будет деактивирован; файлы останутся на диске, но функция станет недоступна.
Пакетная установка через XML
Для развёртывания нескольких компонентов на множестве машин удобно использовать XML-описание.
PKGMGR /n:C:\deploy\components.xml /quiet /norestart /l:C:\logs\pkgmgr.log
Все компоненты из файла components.xml будут установлены последовательно; результат запишется в лог.
Просмотр справки
Для получения полного списка ключей прямо в консоли:
PKGMGR /?
Частые ошибки и решения
| Ошибка / симптом | Причина | Решение |
|---|---|---|
| «Отказано в доступе» при запуске | CMD запущен без прав администратора | Открыть командную строку через «Запуск от имени администратора» |
| «PKGMGR не является внутренней командой» | Файл pkgmgr.exe отсутствует или переменная PATH не включает %SystemRoot%\System32 | Проверить наличие C:\Windows\System32\pkgmgr.exe; при необходимости восстановить через SFC |
| Ошибка 0x800F081F «Исходные файлы не найдены» | Пакет требует дополнительных файлов из образа Windows | Указать источник установки: смонтировать ISO и добавить ключ /m: с путём к WIM |
| Команда зависает без вывода | Операция выполняется в фоне; PKGMGR работает асинхронно | Добавить ключ /l: и следить за логом; не прерывать процесс до появления записи «Completed» |
| Пакет установился, но функция не работает до перезагрузки | Некоторые компоненты требуют рестарта | Перезагрузить систему; не использовать /norestart для критичных компонентов ядра |
Когда применять, а когда нет
PKGMGR подходит для управления компонентами Windows Vista / Windows Server 2008, а также для установки .cab-пакетов в автоматизированных сценариях развёртывания. Команда требует прав администратора. Начиная с Windows 8 и Server 2012 рекомендуется использовать DISM вместо PKGMGR — он получил расширенный функционал и активно развивается. В PowerShell аналогом служит Add-WindowsFeature (для серверных ОС) и Enable-WindowsOptionalFeature для рабочих станций. Для управления сторонними приложениями (не компонентами ОС) PKGMGR не предназначен — используйте winget или msiexec.
FAQ
Чем PKGMGR отличается от DISM?
PKGMGR — более старая утилита, ориентированная на Vista/Server 2008. DISM заменил её начиная с Windows 8 и поддерживает работу с образами WIM, офлайн-обслуживание и более широкий набор операций.
Нужно ли перезагружать компьютер после PKGMGR?
Зависит от пакета. Компоненты, интегрированные в ядро системы, требуют перезагрузки. Используйте ключ /norestart, если хотите перезагрузить позже вручную.
Можно ли использовать PKGMGR в Windows 10?
Формально файл pkgmgr.exe присутствует в системе, но Microsoft рекомендует DISM или PowerShell-командлеты. PKGMGR может работать некорректно с пакетами, созданными для новых версий ОС.
Как узнать имя компонента для ключа /iu?
Выполните DISM /online /Get-Features — команда выведет список всех компонентов с их системными именами, которые можно передать в PKGMGR /iu.
Что означает код ошибки 0x800F0922?
Ошибка указывает на нехватку места на системном разделе или проблему с подключением к Windows Update. Освободите место на диске C: и повторите операцию.
Как отменить установку пакета, выполненную через PKGMGR?
Используйте ключ /uu:имя_компонента для отключения компонента или DISM /online /Remove-Package /PackageName:имя для удаления установленного пакета.


