Создание дистрибутива MS Office 2003 с возможностью выбора вариантов установки

OSzone.net » Microsoft » Автоматическая установка » Автоматическая установка Windows XP » Создание дистрибутива MS Office 2003 с возможностью выбора вариантов установки
Автор: Fanzuga
Иcточник: unattended.oszone.net
Опубликована: 15.12.2005

Представляю статью, которую написал участник конференции OSZone Fanzuga. В статье не излагается ничего принципиально нового. Она просто рассказывает о том, как можно применить на практике теоретические знания о подготовке дистрибутива Office и создании SFX архива и получить несколько вариантов установки на основе одного пакета.

Введение

В статье будет рассмотрен способ доработки оригинального дистрибутива Office, который по сравнению с оригиналом будет обладать следующими фичами:

За основу был принят способ Setup.ini описанный здесь.

Для работы понадобятся

Подготовка обновлений

Все обновления для MS Office доступны через службу Microsoft Update. Для создания дистрибутива по методу setup.ini достаточно клиентских (меньших по размеру) версий обновлений и Сервис Пака.

Файлы обновлений для Office представляют собой самораспаковывающиеся CAB-архивы. Соответственно распаковываем файл Office2003SP2-KB887616-Client-RUS.exe

Unpack 7-zip

и получаем набор файлов на рис:

Unpacked

Из данных файлов нас интересует лишь наибольший по размеру MAINSP2op.msp, который собственно и содержит пакет обновлений. Остальные файлы можно удалить. Подобным образом поступаем и с другими обновлениями: распаковываем (при помощи 7-Zip или любого другого архиватора), и сохраняем наибольший по размеру msp- файл. Распакованным файлам можно дать более осмысленные названия. Так файл MAINSP2op.msp я переименовал в SP2.msp.

В корневой директории Office 2003 создаем папку SP (или например Updates, общее правило лишь то, что следует избегать русских букв и спецсимволов, во избежание проблем при работе пакетных файлов).

Примечание: далее по тексту под корневой папкой дистрибутива Офиса, мы будем понимать папку в которой находится файл Setup.exe.

Office Dir

В папку SP помещаем распакованные файлы обновлений. Таким образом, ее содержание будет выглядеть примерно так:

Updates

Подготовка файла Setup.ini

Для начала подготовим файл Setup.ini для интерактивной (ручной) установки. От оригинала он будет отличаться лишь автоматической установкой обновлений. Параметры файла Setup.ini достаточно подробно описаны здесь. Итак к оригинальному файлу Setup.ini (он находится в `Дистрибутив Office`\FILES\SETUP ) в конце добавляем следующие строки:

[ChainedInstall_1]
TaskName=Service Pack 2 for Office 2003
TASKTYPE=exe
PATH=MSIExec.exe

CmdLine=/update SP\SP2.msp /qn
Display=None
Reboot=0

[ChainedInstall_2]
TaskName=Outlook 2003 SPAM Filter
TASKTYPE=exe
PATH=MSIExec.exe

CmdLine=/update SP\KB907492.msp /qn
Display=None
Reboot=0

[ChainedInstall_3]
TaskName=Security Update Office 2003
TASKTYPE=exe
PATH=MSIExec.exe

CmdLine=/update SP\KB907417.msp /qn
Display=None
Reboot=0

Примечание: ключ /update поддерживается Windows Installer начиная только с версии 3.x. Он входит в SP2 для Windows XP, а также доступен отдельно.

Данные строки отвечают за установку SP2 и двух последующих обновлений. Стандартный ключ /qn определяет "тихий" режим установки обновлений без взаимодействия с пользователем, без отображения интерфейса (о других ключах Windows Installer подробнее здесь). Обратите внимание на пути и названия файлов обновлений и измените их на свои, при необходимости. Насколько я понял, файлы msp представляют собой некую разновидность msi инсталляторов и поддерживают такие же ключи, так что здесь можно поиграться их значениями, например для "видимого" инсталла или для протоколирования установки.

Создание вариантов автоматической установки

Автоустановка офисного пакета будет осуществляться при помощи файлов ответов (в формате MST). При помощи Office Resource Kit создаем несколько вариантов файла ответов. Всего их количество может доходить до 10 (эти ограничения накладываются SFX модулем Олега Щербакова) плюс вариант ручной установки. Лично мне хватило 3 вариантов файла ответов. В моем случае это были файлы:
Min.MST - минимальный вариант установки – только Word и Excel
Custom.MST - выборочный вариант наиболее "ходовые" приложения и компоненты
Full.MST - полная установка – все приложения и компоненты

Процедура создания MST файлов, организована в виде мастера, интуитивно понятна и достаточно проста. К тому же она описана здесь. Посему я не буду подробно останавливаться тут на этом вопросе, замечу лишь, что для ускорения процесса, стоит создавать последующие файлы путем преобразования существующих, чтобы не делать все настройки "с нуля".

Полученные mst файлы кладем в корневую папку дистрибутива Офиса.

Создание альтернативных файлов Setup.ini

Для каждого mst файла в корневой папке дистрибутива создаем парный файл имя файла ответов.ini в моем случае это были файлы min.ini, custom.ini и full.ini (в принципе именa могли быть например 1.ini, 2.ini и т д., однако так легче понимать какой файл за какой вариант отвечает).

За основу будет принят модифицированный файл Setup.ini, который мы создали раньше. Чтобы создать конфигурационный файл для автоматической установки необходимо изменить в нем лишь одну строку в секции [MST]. Например, в файле custom.ini эта строка будет выглядеть следующим образом:

MST1=Custom.MST

Данная строка означает, что в качестве сценария для установки будет применен mst файл. Этим mst будет файл Custom.mst. Файл mst находится в корневой папке дистрибутива, т. е. в одной папке с файлом Setup.exe. Если необходимо разместить файл mst, в другой папке, то в строке необходимо прописать путь к нему. В принципе файл ответов может располагаться даже на сервере в сети, если корректно указан сетевой путь.

Соответственно создаем файлы full.ini и min.ini и располагаем их в той же папке.

Теперь мы имеем следующие файлы дополнительные файлы в дистрибутиве:
SP2 - папка с распакованными обновлениями
min.mst, custom.mst и full.mst - файлы ответов
Min.ini, Custom.ini и Full.ini - конфигурационные файлы

Примечание: создание ini файлов не единственный способ запуска автоматической установки; например, при наличии mst файлов можно запускать при помощи ключа TRANSFORMS= ваш_файл.mst. Однако я счел метод применения ini файлов более гибким, так как в файле можно указать многие дополнительные параметры.

В принципе теперь дистрибутив готов к автоустановке для чего можно запускать файл setup.exe с ключами /settings имя_файла.ini. Если запустить Setup.exe без ключей то запустится интерактивная установка, в которой будет автоматизирована лишь установка обновлений.

Упаковка дистрибутива

Теперь мы создадим SFX архив с возможностью выбора варианта установки после распаковки. Коротко хотелось бы упомянуть о нюансах применения архивации. С одной стороны дистрибутив занимает меньше места, например на компакт-диске или ином носителе. Если первоначально дистрибутив MS Office 2003 плюс обновления весит 396 Мб, то запакованный при помощи 7-Zip (при методе компрессии Ultra) – 358 Мб. Как видно разница не столь уж принципиальна. С другой стороны он требует больше места для установки на винчестере (так как вначале ему нужно распаковаться во временную папку и уже оттуда запустить установку) . К тому же на распаковку требуется дополнительное время. В случае Office это минут 5-8. В любом случае вам придется решить какой из факторов является для Вас более критичным. Если вы не планируете размещать большое количество дополнительных программ на диске с Office (или например Вы используете DVD), то вероятно лучшим решением будет не сжимать Office. Я же пожертвовал скоростью в пользу компактности.

Для архивации я применил 7-zip как обладающий максимальной степенью сжатия и возможностью использования весьма функционального SFX модуля от Oleg_Sch. Методика создания самораспаковывающегося архива достаточно подробно описана здесь, поэтому я позволю себе не повторяться.

Запаковываем все содержимое корневой папки в 7-zip архив. Получаем файл с названием например Office2003.7z. Теперь преобразуем его в многовариантный SFX архив. Для этого в одну папку с полученным Office2003.7z поместим файл 7zS.sfx (собственно сам SFX модуль, модифицированный вариант от Oleg_Sch, использовалась НЕсжатая версия от 28.10.2005). Туда же поместим конфигурационный файл config.txt следующего содержания:

;!@Install@!UTF-8!
;Заголовок диалогового окна которое появляется если запустить архив без ключей
BeginPrompt=“Установить Microsoft Office 2003 SP2 VLK?”
;Надпись которой сопровождается распаковка файла
ExtractTitle=“Установка MS Office 2003...”
;Установка по умолчанию, которая запускается при отсутствии ключей
;В данном случае это обычная ручная установка Офиса. О PIDKEY - ниже.
RunProgram=“setup.exe PIDKEY=мойсерийныйномер”
;Запуск альтернативных вариантов установки.
;В данном случае вариантов автоустановки с использованием файла ответов.
AutoInstall0=“setup.exe /settings full.ini”
AutoInstall1=“setup.exe /settings custom.ini”
AutoInstall2=“setup.exe /settings min.ini”
;Вид меню, которое будет появляться при запуске архива.
GUIMode=“0”
;!@InstallEnd@!

Ключ PIDKEY позволяет автоматизировать ввод серийного номера его значение это собственно 25-значный серийник который вводится без тире и пробелов. Для остальных вариантов серийный номер указан в mst файле.

Напомню, что файл config.txt обязательно должен быть сохранен в кодировке UTF-8. Стандартный Блокнот Windows для этого не подойдет. Я использовал программу AkelPad 2.1.4 весьма функциональную и притом совершенно бесплатную замену Блокнота.

Теперь запускаем из командной строки команду:

COPY /b 7zs.sfx + config.txt + Office2003.7z Office2003.exe

Эта команда преобразует простой 7zip архив в самораспаковывающийся. Вуаля! Через несколько секунд, в той же папке, появится файл Office2003.exe это и есть наш упакованный дистрибутив.

Запуск установки

Теперь несколько слов о том, как обращаться с полученным дистрибутивом. Если просто запустить его двойным кликом, то произойдет запуск обычной интерактивной установки Офиса, в которой будет автоматизирован лишь ввод серийного номера.

Если же запустить данный файл из командной строки с ключами -aiX -gm2, где X номер варианта установки, то установка пойдет совершенно незаметно и без вмешательства пользователя по заранее сформированному вами сценарию в mst файле. Ключи можно указывать при запуске архива из командной строки Windows либо, используя файловый менеджер, подобно изображению на рисунке

Total Commander

Как вариант для запуска файла можно использовать любую оболочку, которая поддерживает запуск файлов с параметрами командной строки, например какое-нибудь, автозагрузочное меню компакт диска.

Наконец, архив можно запустить пакетным файлом, например OfficeFullSetup.cmd следующего содержания:

cmdow @ /HID
@echo off
OFFICE2003.exe –ai0 -gm2
EXIT

Во всех случаях архив будет распакован во временную папку, содержимое которой будет удалено после завершения работы инсталлятора.

Немаловажно то, что данный дистрибутив поддерживает доустановку офисных программ и компонентов. Т .е после любого варианта установки (ручного или автоматического), вы можете запустить дистрибутив в ручном режиме и добавить / удалить необходимые компоненты. Понятно, что данная особенность делает дистрибутив универсальным и позволяет его применять как во время, например автоматической инсталляции Windows, так и в дальнейшей работе.


Ссылка: http://www.oszone.net/3553/