Диспетчер пакетов может установить только первый пакет при извлечении двух или более пакетов в одну папку в Windows Vista.
В этой статье описывается проблема, которая возникает из-за того, что диспетчер пакетов не может управлять двумя или более пакетами в одной песочнице.
Применимо к следующим выпускам: Windows 10 – все выпуски, Windows Server 2012 R2
Исходный номер базы знаний: 932224
Симптомы
В Windows Vista средство диспетчера пакетов может установить только первый пакет при извлечении двух или нескольких пакетов в одну папку.
Рассмотрим, например, описанный ниже сценарий.
На компьютере под управлением Windows Vista создается папка C:\Temp.
В эту папку скачиваются следующие пакеты исправлений:
Windows6.0-KB929761-x86.msu
Windows6.0-KB932590-x86.msu
Эти пакеты исправлений предназначены для исправления 929761 и исправления 932590.
Чтобы развернуть пакеты исправлений, выполните следующие команды:
c:\temp>expand c:\temp\Windows6.0-KB929761-x86.msu -F:Windows6.0-KB929761-x86.cab c:\temp c:\temp>expand c:\temp\Windows6.0-KB932590-x86.msu -F:Windows6.0-KB932590-x86.cab c:\temp
Чтобы установить пакеты, выполните следующие команды:
start /w Pkgmgr /ip /m:c:\temp\Windows6.0-KB929761-x86.cab start /w Pkgmgr /ip /m:c:\temp\Windows6.0-KB932590-x86.cab
В этом сценарии диспетчер пакетов устанавливает только пакет для исправления 929761.
При возникновении этой проблемы в файле Cbs.log может появиться следующая информация:
В этом примере Cbs.log файл диспетчер пакетов указывает, что он установит файл .cab для исправления 932590. Однако фактически устанавливается пакет Package_1_for_KB929761~31bf3856ad364e35~x86~~6.0.1.1. Это пакет исправления 929761.
Примечание.
Эта проблема также относится к Windows Server 2008.
Причина
Эта проблема возникает из-за того, что диспетчер пакетов не может управлять двумя или более пакетами в одной песочнице.
Разрешение
Чтобы обойти эту проблему, выполните один из следующих методов.
Метод 1:
Разверните каждый пакет в другую папку перед установкой с помощью pkgmgr. Для этого введите в командной строке следующие команды:
Delete update*.*
Mkdir c:\temp\sandbox1
Mkdir c:\temp\sandbox2
Start /w pkgmgr /ip /m:c:\temp\ CabFile /s:c:\temp\sandbox1
Start /w pkgmgr /ip /m:c:\temp\ CabFile /s:c:\temp\sandbox2
В этих командах CabFile представляет файл .cab для пакета исправлений.
Метод 2:
Еще одним обходным решением является использование DISM для обслуживания образов Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008 в автономном режиме.
Рекомендации по использованию DISM с образами Windows Server 2008/Vista с пакетом обновления 1 (SP1):
- Образ Windows, который вы обновляете, должен быть Windows Vista с пакетом обновления 1 (SP1) или Windows Server 2008 или более поздней версии.
- Если вы обслуживаете образ Windows Vista с пакетом обновления 1 (SP1) или Windows Server 2008, DISM преобразует команду DISM в эквивалентную команду диспетчера пакетов, чтобы можно было обновить образ. DISM обеспечивает функциональную четность диспетчера пакетов.
- Поддерживаются только автономные сценарии
- DISM предварительно устанавливается с Windows 7 и Windows Server 2008 R2 и входит в пакет автоматической установки Windows для Windows 7. Пакет автоматической установки Windows можно установить в Windows Vista и Windows 2008.
Редактор примечание: скачать ссылку для Win7 waik: The пакет автоматической установки Windows (AIK) для Windows 7
Добавление пакетов в автономный образ с помощью DISM
В командной строке с повышенными привилегиями перейдите в папку обслуживания OPK и введите следующую команду, чтобы получить имя или номер индекса для образа, который вы хотите изменить.
Dism /Get-WIMInfo /WimFile:C:\test\images\install.wim
Примечание.
Для большинства операций, указывающих файл образов Windows (WIM), требуется значение индекса или имени.
Введите следующую команду, чтобы подключить автономный образ Windows.
Dism /Mount-WIM /WimFile:C:\test\images\install.wim /Name:"Windows 7 HomeBasic" /MountDir:C:\test\offline
В командной строке введите следующую команду, чтобы добавить определенный пакет в образ. В одну командную строку можно добавить несколько пакетов. Пакеты будут установлены в порядке, указанном в командной строке.
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab
Примечание.
.cab извлекается из MSU-файла.
В командной строке введите следующую команду, чтобы зафиксировать изменения и отключить образ.
Dism /Unmount-WIM /MountDir:C:\test\offline /Commit
Состояние
Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».
Сбор данных
Если вам нужна помощь службы поддержки Microsoft, мы рекомендуем собирать информацию путем выполнения действий, описанных в разделе Сбор информации с помощью TSS для решения проблем, связанных с развертыванием.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по