Удаленная установка обновлений windows msu

Удаленная установка обновлений windows msu

Как распространить программу при помощи WSUS и Local Update Publisher

Всем привет сегодня расскажу как установить обновление MSU через WSUS на примере средств удалённого администрирования (RSAT). Некоторые обновления (например, хотфиксы) поставляются исключительно в виде MSU-файлов, которые не совсем понятно как импортировать во WSUS. При помощи LUP это нам по силам. Будет рассматриваться на примере распространения Remote System Administration Tools for Windows 7 SP1 для x64.

Для начала нам необходимо скачать сам RSAT (файл Windows6.1-KB958830-x64-RefreshPkg.msu), скачать программу RunIt , а также архиватор, способный разархивировать MSU-файлы — 7-Zip отлично подходит, системная утилита expand тоже сойдёт.

Разархивируем Windows6.1-KB958830-x64-RefreshPkg.msu в любую директорию. В файле Windows6.1-958830-x64-pkgProperties.txt можно подглядеть корректное описание обновление. Будем считать, что мы так и сделали.

В LUP создаём новое обновление. Т.к. мы делаем обновление для архитектуры x64, то выбираем файл RunIt64.exe, иначе бы выбрали просто RunIt.exe. Программа RunIt умеет только одно — запустить программу, переданную ей аргументом, и может быть использована в качестве «затычки» при создании обновлений. Также, нажимаем «Add File» и добавляем все файлы, которые мы разархивировали из msu-файла.

Согласно тому, что можно подсмотреть в файле Windows6.1-958830-x64-pkgProperties.txt, устанавливаем тип обновления «Update», название в «Remote Server Administration Tools for Windows 7 with SP1 Russian x64», описание можно скопировать со страницы загрузки, классификация Hotfixes, вендор «Microsoft», продукт «Remote Server Administration Tools», Article ID «958830».

А самым интересным тут является то, как выполняется сама установка — в параметры командной строки пишем «%windir%\system32\pkgmgr.exe /quiet /n:Windows6.1-KB958830-x64-RefreshPkg.xml». А что при этом происходит? При установке запускается RunIt, который запускает системную утилиту pkgmgr.exe, которой скармливаются принесённые с обновлением файлы, и происходит совершенно штатная установка.

Далее, пакет считается установленным при выполнении следующих правил:

  1. Архитектура процессора равна x64.
  2. Положительно выполняется WMI-запрос в неймспейсе root\cimv2: «Select HotFixID from win32_quickfixengineering where HotFixID = ‘KB958830’». Не сложно догадаться, что это запрос о статусе установки именно RSAT.

Установка CAB и MSU файлов обновлений Windows в ручном режиме

Обновления для операционной системы Windows выпускаются в виде пакетов с расширением MSU или CAB. В том случае, если не работает (специально отключен) штатный функционал службы Windows Update (Центра обновления Windows), нужные для системы накопительные обновления или обновления безопасности можно скачать и установить вручную в офлайн режиме. В этой статье мы покажем, как в Windows 10 скачать и установить обновления в формате MSU и CAB файлов.

Читайте также:  Периодически моргает экран монитора windows 10

Где скачать 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. Команда установки может быть такой:

Читайте также:  External hard drive windows

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 не везде поднят. Спасибо.

Читайте также:  Как реально ускорить windows

============
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

Установка обновлений Windows без использования Центра обновления Windows

Описание и решение проблемы

В старых операционных системах семейства Windows — последней из которых была Windows XP — обновления операционных систем можно было скачивать в виде EXE файлов для автономной установки. Начиная с Windows Vista, файлы обновлений стали поставляться в формате MSU — их так же можно устанавливать без подключения к интернету, но на этот раз требуется наличие рабочей службы «Центр обновления Windows», в противном случае вы будете получать ошибку 0x80070422.

Тем не менее, есть возможность установки и без использования Центра обновления Windows (то есть с выключенной службой Центра обновления Windows), с использованием системы DISM. Для этого, нужно распаковать MSU файл, и с помощью DISM обновить систему с использованием распакованных cab файлов. Делается это так:

Находим нужный MSU файл, который нужно установить, например это будет Windows6.1-KB3191566-x64.msu, и который допустим лежит в папке C:\Updates, и распаковываем его в папку C:\Updates\KB3191566:

В итоге мы должны получить несколько файлов, среди которых должен быть cab файл (возможно и несколько, уточнение, о том, что делать в таком случае будет чуть дальше). Теперь этот cab файл можно установить с помощью DISM:

Если же cab файлов несколько, то устанавливать их нужно в определенном порядке, который описан в файле PkgInstallOrder.txt, который должен лежать в той же директории, что и распакованные cab файлы.

По окончанию установки, DISM может запросить перезагрузку компьютера. Для того, чтобы убрать этот запрос, достаточно добавить ключ /NoRestart, и в итоге строка запуска приобретет следующий вид:

Оцените статью