dg
Moderator-папарацци | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Как упоминалось выше, я устанавливаю обновления из распакованных дистрибутивов. Делается это для увеличения скорости установки. Когда пакетным методом ставятся все обновления на несколько машин — выигрыш во времени существен, особенно если с производительностью сети проблем нету, а мощности клиентов, напротив, оставляет желать лучшего. По способу распаковки дистрибутивы делятся на три типа (классификация моя). Обновления, упакованные при помощи IExpress IExpress — утилита, изначально созданная для распространения дистрибутивов Internet Explorer. Если она кому-то понадобится для собственных целей, скачать её можно в составе Internet Explorer Administration Kit. Файл дистрибутива, упакованного IExpress, является исполняемым, то есть имеет расширение .exe и стандартную иконку в виде жёлтой коробки. Никакого стандарта для имён таких файлов, потому что большинство обновлений этого типа имеют несерийный характер. Это значит, что они являются отдельными более или менее смаостоятельными компонентами Windows. Обновления для собственно ОС никогда не упаковываются с помощью IExpress — для их установки служит утилита Update.exe и они относятся ко второму типу по моей классификации К обновлениям, упакованным IExpress, относятся, например, Windows Media Player 10, MUI для него и для Movie Maker 2.1. Для распаковки обновления, упакованного IExpress, следует запустить его установочный файл с параметрами /c /t:<полный путь для распаковки> | Относительные и сокращённые (начинающиеся с обратной косой черты, что обозначает корень текущего диска) пути использовать нельзя. Полный перечень параметров командной строки для запуска дистрибутивов, упакованных IExpress, приведён в KB197147 — Command-Line Switches For IExpress Software Update Packages, сокращённая справка также выводится при запуске с параметром /?. Для распаковки также можно воспользоваться каким-нибудь архиватором от стороннего производителя, поддерживающим стандарт Microsoft Cabinet Archive (CAB) — например, WinRAR. После распаковки обновление представляет собой набор файлов, среди которых, как правило, присутствует установщик. Его имя обычно имеет что-то общее со словом «Setup». Например, для Windows Media Player имя установщика — Setup_WM. Хотя такой формат не является обязательным для всех обновлений, упакованнх IExpress, запуск этой программы производит установку обновления. Как правило, установка ведётся в режиме взаимодействия с пользователем — то есть требуются дополнительные подтверждения, например, принятие лицензионного соглашения. При пакетной установке ряда обновлений с помощью сценария удобно запускать установку каждого из них в автоматическом режиме. Для этого служат параметры командной строки, которые никак не стандартизированы и являются особыми для каждого типа обновлений. Например, для установки Windows Media Player это /Q /R:N /P:#e. Очень важно понимать, что, как правило, установщик обновления, упакованного IExpress, ищет остальные файлы дистрибутива в текущей директории. Поэтому в ходе пакетной установки с помощью сценария необходимо обязательно менять текущую директорию на ту, в которой находится распакованный установщик. Если после распаковки дистрибутива, упакованного IExpress, не остаётся ни одного запускаемого файла (или выясняется, что ни один из них не служит для установки), — значит, установка производится через сценарий, заданный в файле типа *.inf. Например, MUI для Movie Maker 2.1 устанавливается при помощи файла moviemkmui.inf. Для запуска такой установки необходимо выполнить команду видаrundll32 setupapi,InstallHinfSection DefaultInstall 132 <имя.inf> | Дальнейшая установка производится без дополнительного участия пользователя, что позволяет использовать указанную команду в сценариях автоматической установки. Текущая директория в этом случае значения не имеет, так как файлы дистрибутива всегда берутся из того каталога, в котором находится собственно сценарий *.inf. К сожалению, не все обновления удаётся установить таким способом. Например, запуск приведённой выше команды для дистрибутива MUI к Windows Media Player приводит к ошибке. Причина этого неясна (см. вторую проблему) — и также неясно, как устанавливать это обновление из распакованного дистрибутива. Единственным найденным мною решением является установка обновления из исходного дистрибутива, упакованного IExpress. Для запуска такого установщика в автоматическом режиме используется параметр /q. в следующих сериях Обновления, устанавливаемые с помощью Update.exe и Обновления, поставляемые в формате Windows Installer (а также решение первой проблемы). |