Кастомизация дистрибутива Office 2003

На дворе октябрь 2008 года. Уже вышел первый сервис-пак для Vista и первый сервис-пак для Office 2007. А в корпоративных сетях успешно продолжает эксплуатироваться MS Office 2003. Не вдаваясь в подробности, скажу, что большинство корпораций не мигрируют на 2007 версию офиса по причине его тяжеловесности для устаревших компьютеров и сложности привыкания старых пользователей (в том числе и меня, например) к новому интерфейсу. И посему сегодня мы будем говорить о создании дистрибутива Office 2003 с наложением всяких последних вкусностей и полезностей.

Материал настоящей статьи рассчитан на широкую аудиторию читателей "КВ": от домашних пользователей до администраторов крупных локальных сетей. Изначально автор предполагал создать пошаговое руководство к действию с небольшими комментариями, но потом задумка переросла в полноценно оснащённый теоретическими выкладками трактат о продуктах Microsoft и не только.


1. Выбор правильного дистрибутива

Сначала опишем исходный дистрибутив, с которым нам предстоит работать. Оригинальный Microsoft Office 2003 профессиональной редакции без дополнений умещается на одном компакт-диске, содержимое которого можно легко найти практически на любом винчестере. Однако до сих пор попадаются дистрибутивы, непригодные для дальнейших манипуляций без применения очень серьёзных усилий, не стоящих того. В первую очередь, речь идёт о так называемых Value лицензиях, а также VLK (volume license key) лицензиях для образовательных заведений (вспомним дело Поносова).

В том дистрибутиве, с которым мы будем работать, все программные файлы должны быть упакованы в четыре десятка кабинетов (CAB-файлов), расположенных в корне инсталляции. В корне инсталляции также должен находиться файл SKU011.XML, в котором описаны сигнатуры инсталляций различных версий офиса и правила установки.

 

Косвенным признаком того, что пираты дистрибутив переписали на жёсткий диск правильно и полностью, является наличие в нём дистрибутива пакета Microsoft SQL Server Desktop Engine версии 2000 (файла MSDE2KS3.EXE в папке MSDE2000).

Некоторые операции требуют наличия в корне дистрибутива файла автозапуска AutoRun.Inf, содержимое которого можно, в принципе, подменить, но сам факт наличия этого файла обязателен (пусть и с неоригинальным содержимым).


2. Подбор комплекта инструментов

Помимо дистрибутива Office 2003, нам понадобятся:

  • Service Pack 3;
  • hotfix на сегодняшнюю дату;
  • WinRAR (40 дней бесплатной работы);
  • BelArc Advisor;
  • MS CABarc;
  • MS Windows Installer SDK (версии 1.1 или 2.0);
  • MS Office 2003 Resource Kit;
  • виртуальные машины (например, VMware).


3. Создание административного дистрибутива

В принципе, про необходимость создания административного дистрибутива хорошо написано в одной из прошлых статей моего цикла (11 августа 2005 года). Ничего нового добавить не могу, разве что опять указать на необходимость включения свойства (Property) DisableMedia. Это необходимо для того, чтобы произвести пункт 8 (корректно уложить полученный дистрибутив на оптический носитель и иметь возможность инсталлироваться прямо с носителя).

Итак, переписываем содержимое компакт-диска в папку на жёстком диске, например, c:\original, снимаем с папки и вложенных файлов атрибуты "только для чтения" и "скрытый" и в командной строке выполняем следующую команду:

c:\original\setup /a /msinodisablemedia=1

Выполняем все инструкции Мастера по созданию установочного дистрибутива: указываем номер лицензионного ключа, устанавливаем флажок "принять условия Лицензионного Соглашения Конечного Пользователя" и указываем путь к будущему административному дистрибутиву (например, c:\adminpoint).

Инсталлятор распаковывает CAB-файлы в папку PFILES папки FILES и производит необходимые операции над базой данных Windows Installer. В принципе, сейчас уже можно производить пункт 7 (открывать сетевой доступ к созданной папке), но лучше продолжить выполнение инструкции.


4. Интеграция SP3

Оригинальный Офис версии 2003 - вещь крайне ненадёжная в плане безопасности и стабильности работы. Не зря Microsoft выпустила уже третий Service Pack. Загрузить его можно совершенно бесплатно с интернет-сайта Microsoft. Для этого необходимо посетить страницу TechNet Security Page (www.microsoft.com/technet/security/current.aspx) и найти там ссылку на Service Pack 3 подходящей вам языковой версии Office 2003 Professional. Для русскоязычной версии это - support.microsoft.com/?kbid=923618. Самое важное - в дистрибутив интегрируется только Administrative версия сервис-пака, поэтому в имени скачанного файла должно значиться "-FullFile-".

Открываем скачанный сервис-пак в WinRAR и извлекаем два MSP-файла во временную папку, например, c:\sp3. Из командной строки выполняем наложение:

c:\sp3\msiexec /p of2k3ff.msp /a c:\adminpoint\pro11.msp /shortfilenames=1 /qn

c:\sp3\msiexec /p owcff.msp /a c:\adminpoint\owc11.msp /shortfilenames=1 /qn

Пропатченный таким образом дистрибутив уже более подходит для повседневного пользования, но до полного идеала ему ещё далеко.


5. Интеграция hotfix

Теперь необходимо посетить сайт Microsoft TechNet Security Bulletin Search ещё раз, чтобы выкачать оттуда Hotfix, вышедшие с момента появления SP3. На момент написания статьи список патчей включает в себя следующие хотфиксы: 955047, 954593, 949785, 954066, 955048, 955617, 951208, 949032, 947081.

Напоминаю, что для того, чтобы получить URL на статью в базе знаний Microsoft, нужно к support.microsoft.com/?kbid= дописать 6-значное число.

Если вы не гуру "Майкрософта", то будет сложно определить сразу, какой патч из предложенных вам нужен, а какой - нет. В таком случае поступим следующим образом: при помощи стандартного Мастера обновлений Windows обновляем нашу систему до актуального состояния через Интернет или локальную сеть (WSUS вам в помощь!), устанавливаем BelArcAdvisor актуальной версии (программа бесплатная, качать с www.belarc.com/free_download.html), и запускаем его. В разделе "серийные номера" можно посмотреть серийный номер установки вашего Office, если вы его случайно забыли, а в разделе "установленные программы" можно увидеть список установленных для Office патчей.

Складываем все патчи горкой в отдельную папку, например, c:\hotfix. Устанавливаем WinRAR, выделяем их (файлы патчей) все и командуем: "Извлечь все архивы в отдельные папки". Любителям автоматизации всех процессов придётся выполнить BAT-файл примерно такого содержания:

@set path=%path%\;c:\progra~1\winrar (или другая папка с установленным WinRAR)

@for %%i in (*.exe) do rar x %%i *.msp _%%i\ (перед двойным процентом - знак подчеркивания)

У нас появляется масса папок с именами как у патчей. Некоторые рекомендуют MSP-файлы тут же вытянуть горкой в папку c:\hotfix, чтобы поиздеваться командой

for %%i in (*.msp) do msiexec /p %%i /a c:\adminpoint\pro11.msp /shortfilenames=1 /qn

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

msiexec /p %1 /a c:\adminpoint\pro11.msp /shortfilenames=1

Очень большое количество сайтов, которые претендуют на звание "энциклопедий" в unattended-инсталляции (те же OSZONE.NET или NETWORK.DOC), переписывают друг у друга одну и ту же ошибку. А именно - в цикле FOR в предыдущем абзаце должны использоваться 2 (два) знака "процент", а не 1 (один). Это надо учесть при чтении материалов с данных сайтов.

Сохраните полученный файл под другим именем и поменяйте в теле копии буквы pro на owc. Ярлыки на оба этих BAT-файла поместите в папку Sendto профиля текущего пользователя. Теперь откройте папку с обновлениями, список которых вы получили в первой части раздела, и последовательно каждый MSP-файл "посылайте" в первый или второй файл в зависимости от того, является MSP-файл обновлением для офиса, в целом (PRO), или его веб-компонентов (OWC).


6. Кастомизация инсталляции

В переводе на русский язык это значит "прикручивание к дистрибутиву настроек пользователя". Применяется кастомизация для того же, для чего применяется создание unattended-дистрибутивов: либо для частого развёртывания на одном (тестовом) компьютере либо для развёртывания на большом числе компьютеров, схожих по функциям (например, в локальной сети предприятия). Результат кастомизации (часто его называют "кастОм", ударение на последний слог) бывает разный и классифицируется по степени искорёживания оригинального дистрибутива. Например, в пункте 3 нашего материала мы уже создавали кастом при создании административной точки установки, но при этом оригинальный дистрибутив не страдал. Серийный номер установки и прочие изменения касались только КОПИИ оригинального дистрибутива. Следовательно, в любой момент времени мы можем произвести инсталляцию с оригинального дистрибутива, если в кастоме обнаружится злостный "глюк", мешающий работе. Это - навесной кастом, то есть кастом с возможностью отката к оригиналу.

А вот на этапах, описанных в 4-5 разделах материала, производилось необратимое деструктивное вмешательство в исходный дистрибутив. Такой кастом нельзя "вылечить" (как говорится, "фарш невозможно провернуть назад"), его можно только удалить, ибо ручное лечение слишком утомительно. Это - кастом внедрения. Поэтому для него золотое правило создавать резервные копии на промежуточных этапах обязательно к выполнению.

На 6-м этапе мы опять будем создавать "навесной" кастом. Для этого воспользуемся MS Office 2003 Resource Kit (скачивать с сайта "Майкрософт" office.microsoft.com/en-us/ork2003/default.aspx). Сама Microsoft любезно предоставляет возможность создать несколько файлов, в которые будет записана информация о ходе установки пользователем настроек компонентов MS Office. Мастер создания кастома прост, как огурец, и называется Custom Installation Wizard. Он создаёт MST-файлы. Но прежде, чем его запускать, необходимо определиться, следует ли нам кастомизировать только установку (то есть, какие компоненты устанавливать и в каком количестве) или что-то ещё дополнительно. К чему-то ещё относятся:

  • Параметры подключения к почтовому серверу - для Outlook
  • Внешний вид окон и панелей настройки - для всех приложений
  • Набор внешних файлов, запуск которых будет осуществлен сразу после окончания установки компонентов Office.

Последний пункт вызывал и вызывает жаркие споры в стане unattended-описателей по всему миру. Дело в том, что инсталлятор офиса запускает прикрученные внешние файлы с теми же правами, с которыми стартует сам. Например, администратор сети создал кастом и положил его в сетевую папку. Злостный взломщик получает права на запись в эту папку, и что мы имеем? Если администратор использовал обсуждаемую возможность и (вместо того, чтобы запустить WSUS) предпочёл сам сложить hotfix горкой в сетевой папке, а их вызовы прописал жёстко в кастоме, то крякер может подменить один из хотфиксов на вирус или троянец собственного сочинения. Поскольку инсталлятор Office не предусматривает проверку контрольной суммы устанавливаемых приложений, вирус будет запущен вместе с офисом на все компьютеры локальной сети, где проводится обновление офиса (в отличие от обновляльщика антивируса DrWeb, такую возможность предусматривающего).

Так как обновление офиса - дело крайне редкое, а, в основном, пользуются установкой офиса на чистый компьютер, часто ещё не имеющий антивируса, опасность, создаваемая использованием обсуждаемой возможности, можно отнести к критической для локальных сетей. Ведь есть так мало способов автоматически устанавливать вместе с OFFICE нужный пакет конвертора MXL2XLS для "1С:Предприятия 7"...

Вы думаете, что домашний пользователь защищён от этого кошмара, сравнимого с DLL-hell'98? Ошибаетесь. Приведу пример из жизни.

Клиент купил у меня компьютер, звонит в час ночи и начинает сквозь слёзы рассказывать, что четвертый раз подряд пытается установить Windows, но на этапе создания профиля пользователя компьютер умирает с BSoD (голубым экраном смерти) и отказывается загружаться далее. Помогает только переформатирование жёсткого диска, а после установки Windows с этого же диска всё повторяется.

После выяснения технических подробностей оказалось, что виноват он сам. Купил в магазине установочный пиратский диск типа "всё-в-одном 2008", на который были записаны дистрибутивы Windows XP, Office 2003 и ещё многих программ. В том числе и антивирусов. И один из них (кажется, это была unattended-бета Kaspersky Anti-Virus 8) самоустанавливался методом CMDlines (то есть, сразу после первого входа первого пользователя в новоинсталлированный Windows). А методом U-13 (то есть, за 13 минут до конца инсталляции Windows) устанавливался методом unattended MS Office (то есть, до антивируса).

Дистрибутивы и антивируса, и офиса пираты, составлявшие диск, "нарыли на помойке", как сейчас модно называть скачивание с rapidshare. Не проверили они антивирусом дистрибутив офиса, а там как раз сидел в кастоме вирус и заразил он Windows раньше, чем KASPERSKY был вызван. Антивирус, когда установился, пытался сей вирус вылечить, но (бета, господа!) вываливал операционную систему в BSoD: не он первый установился.

Такова была поучительная история, не рекомендую в неё вам попасть, продолжим о создании кастомов.

Поведение мастера Custom Installation Wizard вполне несложное. В пошаговом режиме нам предложат произвести те действия, которые обычно осуществляются при установке Office на новый компьютер. С этим справится любой юзер, особое же внимание следует уделить 10-у и 14-у шагам мастера. На 10-м шаге вам будет предложено или указать местонахождение OPS-файла, если ранее вы его создавали. В OPS-файле хранятся настройки программных интерфейсов всех программ офиса (например, расположение кнопочных панелей, стандартные опции, настраиваемые в "Ворде" и "Экселе" через Сервис/Параметры и многое другое). Если у вас нет OPS-файла, не отчаивайтесь, вы можете его или настроить прямо здесь, на этом шаге мастера, а в конце сохранить как отдельный файл. Второй метод создания OPS-файла - это запуск Profile Wizard (из того же меню, что и Custom Installation Wizard).

На 14 шаге вам будет предложено или указать местонахождение PRF-файла, если ранее вы его создавали. В PRF-файле хранятся настройки подключения Outlook к различным почтовым серверам. Чтобы заинтриговать вас, отложу рассмотрение работы с ним до пункта 7 (очень скоро). Так же, как и для OPS-файла, в конце работы Custom Installation Wizard есть возможность сохранить произведенные вами настройки в отдельный PRF-файл.

Результатом нашей работы будет являться MST-файл (знакомая вам по моим прошлым публикациям вещь). По умолчанию, Custom Installation Wizard предлагает нам создать bat-файл, в котором полученный MST-файл будет использоваться для применения навесного кастома к дистрибутиву офиса примерно следующего содержания:

setup.exe TRANSFORMS=[путь _к_дистрибутиву]\[ваше название].MST /qb-

Если вы создавали OPS и PRF-файлы, то имейте в виду, что в MST-файле жёстко прописывается их относительная позиция к корневой папке дистрибутива, так что желательно эти файлы сложить кучкой в какой-нибудь подпапке в дистрибутиве и использовать их оттуда. MST-файл может находиться не в корневой папке дистрибутива, а в той же папке, что и OPS с PRT, тогда [путь_к_дистрибутиву] дополняется сзади именем вашей подпапки.

Вызов кастома осуществляется вызовом BAT-файла. В случае запуска SETUP.EXE стартует обычная инсталляция.

(Окончание следует)

Всегда ваш,
дядюшка хардовик Mexicanetz Express,
crowngold.narod.ru

Версия для печатиВерсия для печати

Номер: 

41 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя Al
Описание на примере пиратской версии. В компьтерной газете. Оригинально... Да еще как актуально. :) Раньше писали - "гримасы капитализма". Это это гримасы чего?
Аватар пользователя Енкохнета
Это это гримасы гримасы бедности нашей...
Аватар пользователя Mexicanetz Express
Уважаемый AI, не понял, отчего вы думаете, что на основе ПИРАТСКОЙ версии? обоснуйте, пожалуйста.

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

Аватар пользователя Al
Ну, если сам автор просит...

"Оригинальный Microsoft Office 2003 профессиональной редакции без дополнений умещается на одном компакт-диске, содержимое которого можно легко найти практически на любом винчестере." и далее, в продолжение цитаты: "Косвенным признаком того, что ПИРАТЫ дистрибутив переписали на жёсткий диск правильно и полностью..." и это не про пиратскую копию?

И далее:

"файла автозапуска AutoRun.Inf, содержимое которого можно, в принципе, подменить, но сам факт наличия этого файла обязателен (пусть и с неоригинальным содержимым)".

Согласитесь, тоже нарушение - изменение файлов дистрибутива. Читаю своё лицензионное соглашение на Офис: "Клиент может сделать столько копий, сколько ему необходимо. Эти копии должны быть полными, ...включая…" и т.д.

Я уже не говорю о том, что сама статья учит, как надо нарушать лицензию! :) "на этапах, описанных в 4-5 разделах материала, производилось необратимое деструктивное вмешательство в исходный дистрибутив.", т.е. смотри выше - нарушение лицензии.

Статья полезная, но ей место на www.imho.ws, а не на официальной компьютерной газете.

Кроме того, прошу обратить внимание, что "компьютерную газету" я упомянул с маленьких буковок и без кавычек. Как человек пишущий, вы должны понимать разницу. Раз уж тут упомянута "Компьютерная газета", то, если я правильно понял автора, он назвал ее "ламерской". Тут две ошибки. Первое - это неполиткорректно в устах автора КВ. Второе: очень редко имея возможность купить и прочитать КГ, я все же оцениваю её интересной и иногда более информативной, чем КВ. Уж как есть…

А учитывая то, что со страниц КГ раздаются призывы курочить лицензионное ПО… что можно подумать об этом печатно-интернетном органе? :)))

Стоит ли в зеркало плевать, господин белорусский мексиканец (а в конечном итоге - анонимный сисадмин)?