(Окончание. Начало в №41)
7. Введение дистрибутива в домен
Этот раздел посвящён системным администраторам локальных сетей предприятий, которые пользуются доменной организацией сетей.
Если вы написали кастом с настройками для локальной сети и хотите им пользоваться в сети, то папку с кастомом можно просто сделать общедоступной членам домена на чтение (Domain All, List&Read), а себе и на запись (Domain Admins, Full). Обязательно проверьте, чтобы папка находилась на жёстком диске с NTFS, и пропишите эти же разрешения для папки в её "Свойствах" (Properties). Дополнительно откройте закладку Audit и выставьте все флажки для всех видов обращений. Этим вы обеспечите себе знание, кто и когда и зачем использует сетевую папку с кастомом.
Если вы хотите использовать свой кастом для общего доступа и не контролировать, кто и как его использует, можете положить весь дистрибутив в соответствующую папку IIS и разрешить free-распространение, но при этом не забудьте выполнить вышеописанные действия с правами и аудитом. Дополнительной защитой будет запрет наследования (Inherit) прав доступа от родительской папки. Если у вас в сети несколько администраторов, то договоритесь между собой не перебивать права нижестоящих папок, иначе начавшийся бардак с правами и хозяевами папок (ведь может быть только один настоящий хозяин, не так ли?) положит конец спокойному существованию.
После введения сетевого доступа к папке кастома неплохо бы автоматизировать процесс открытия пользователями своих почтовых ящиков на сервере Exchange. Для примера, ваш сервер Exchange 5.5 или 2003 носит NetBIOS-имя MAILSERV. У каждого пользователя домена заведён ящик, совпадающий с его именем доменного входа. Создайте в переменных окружения каждого компьютера переменную %m-serv% и присвойте ей значение MAILSERV. Запустите Custom Installation Wizard и на 14-м шаге мастера создайте новый PRF-файл. На 15-м шаге укажите в качестве имени сервера %m-serv% и в качестве имени пользователя %username%. Теперь каждый пользователь домена, который успешно залогинился на любом компьютере организации в домен, при открытии Outlook автоматически попадёт в свой почтовый ящик.
Создать в переменных окружения компьютера новую переменную можно автоматически, используя возможности логон-скриптов. В "Свойствах" (Property) конкретного пользователя или группы пользователей мастера Active Directory найдите закладку, отвечающую за скрипты, и в поле RUN AT LOGON введите имя скрипта (например, \\domain_server\netlogon\mail_server.cmd). Откройте папку \\domain_server\netlogon и создайте там файл mail_server.cmd следующего содержания:
Set m-serv = MAILSERV.
8. Запись дистрибутива на болванку
Поскольку мы на стандартный дистрибутив наложили SP3 и 9 хотфиксов, размер дистрибутива существенно увеличился. В настоящий момент он не превышает 700 Мб, что даёт возможность записать его на 1 CD стандартной 703 Мб ёмкости, но не гарантировано, что при наложении бОльшего числа хотфиксов стандартной ёмкости перестанет хватать, и придётся возвращаться на этап 6. Здесь при помощи Custom Installation Wizard нужно отрезать ненужные элементы (как правило, файлы справки и интернет-помощники), выбирая напротив этих элементов пункт NOT AVAILBLE, DISABLED.
Если вы были умными и при создании кастома не использовали длинных путей и русских букв в именах файлов, то рекомендую запекать дистрибутив в стандарте ISO MODE 1, а не MODE 2/XA. Это сохранит совместимость полученного диска со старыми системами, CD-ROM'ы которых могут некорректно обрабатывать современные диски. Отмечено, что диски, запеченные по стандарту ISO MODE 1, удовлетворительно работают даже на компьютерах, где стоит только Windows 98! Только придётся слегка поработать напильником и волшебными словами русского языка, решая проблемы UNICODE.
9. Уменьшение размера дистрибутива
обрезанием лишнего
Частенько для unattended-мастера стоит задача уложить дистрибутив Office на диск, где и помимо него (офиса) что-то есть. Например, Windows и Adobe Reader. Сколько не ужимай дистрибутив офиса WinRAR-ом или 7-zip-ом, все равно дистрибутив большой. Придётся делать кастом, но не навесной, а кастом внедрения (необратимый). На Си написана утилита, которая называется Office Shrinker (www.msfn.org/board/Office-Shrinker-reduce-source-of-o2k3-t16709.html). Она работает следующим образом: программе пишут INI-файл, запускают программу на выполнение, а в случае успеха программа завершается сама и в одной из папок на вашем винчестере появляется обрезанный дистрибутив. В случае аварийного завершения программу приходится завершать вручную при помощи "Диспетчера задач", вычищать временные папки с неудачными файлами и исправлять INI-файл, после чего повторять попытку запуска.
Запущенная программа переходит в папку оригинального дистрибутива, копирует в папку целевого дистрибутива только инсталлятор, запускает инсталлятор (такой, как захотите ВЫ!) и ждёт появления окошек о недостающих файлах (которые не скопированы в папку целевого дистрибутива). Как только окошко появляется, "Шринкер" находит в нём имя недостающего файла и копирует его из папки оригинального дистрибутива в папку целевого дистрибутива. Структура папок сохраняется. Таким образом создаётся набор файлов, НУЖНЫХ для инсталляции КОНКРЕТНОГО набора конкретных установок. Маловероятно, что с этого набора можно будет поставить невыбранный компонент ;).
Из схемы работы выплывает ещё одна особенность работы "Шринкера": он работает только для unattended-дистрибутивов и на том языке, на котором написан дистрибутив. Попытка применить INI-файл для немецкого Office XP к дистрибутиву русского Office 2003 удачей не закончится. До сих пор есть ограничения на пути к папкам дистрибутивов: вне зависимости от языка дистрибутива, путь не должен содержать пробелов, спецсимволов и неанглийских (в частности, кириллических) букв.
Чтобы правильно обрабатывать окна сообщений о недостающих файлах, нужно знать текст, который находится в заголовке окна. Попытка вручную вбить в INI-файле текст, читая его с экрана, заранее обречена на провал. Необходимо открыть при помощи ORKA из Windows Installer SDK файл PRO11.MSI и найти там (воспользуйтесь инструментом поиска!) строку, похожую на заголовок. А затем ПОЛНОСТЬЮ скопировать эту строку в INI-файл Office Shinker (с пробелом в конце!).
Ещё одной особенностью Office Shinker является требование запускать его на ДЕВСТВЕННО ЧИСТОЙ СИСТЕМЕ, где Office и .NET Framework никогда не инсталлировались и не запускались. Это связано с тем, что при инсталляции указанных приложений в системные папки (WINDOWS\SYSTEM32 и PROGRAM FILES\COMMON) уже записываются DLL, которые могут использоваться нужной нам версией офиса. Если файл уже присутствует, инсталлятор офиса не остановится с ошибкой, а "Шринкер" подумает, что эту DLL переписывать не нужно. И ошибётся.
Используют для этой цели запуск Office Shinker на виртуальных машинах, которые клонируются с одной стандартной, на которой только что установился Windows, и ничего более не устанавливалось. Одна попытка - один клон стандартной виртуальной машины, после неудачной попытки клон уничтожается.
10. Уменьшение размера сжатием в
кабинет
Опять апеллирую к материалу 2005 года. Практически, в нем описано всё, что нам понадобится. За одним исключением: там дело шло о разжатии кабинета и запаковке обратно, у нас в дистрибутиве 2003 офиса кабинета нет, но предвидится. При помощи CABarc сжимаем все файлы папки FILES в кабинет, затем открываем ORKA таблицу файлов. Сейчас около каждого файла стоит флажок "находится на диске". Нам необходимо это переправить на "находится в кабинете". Сделать это легче всего методом выгрузки таблицы файлов на диск в TXT-формат, правки там (замена) и загрузки (замещая старый вариант) обратно в MSI. После этого необходимо создать вручную запись о вручную созданном кабинете в таблице "Местонахождение файлов". Три года назад мы её рассматривали только для чтения, сейчас эту строчку записываем.
Конечно, финальный результат - не фонтан, при помощи Office Shrinker + self-extracted 7-zip достигают большей степени сжатия, зато мы создали полностью СТАНДАРТИЗОВАННЫЙ дистрибутив.
Всегда ваш,
дядюшка хардовик Mexicanetz Express,
crowngold.narod.ru
Комментарии
"носит NetBIOS-имя" - В современных доменных сетях есть и такое?
"После введения сетевого доступа к папке кастома неплохо бы автоматизировать процесс открытия пользователями своих почтовых ящиков на сервере Exchange." - какая связь с топиком???
"Если вы были умными и при создании кастома не использовали длинных путей и русских букв" - т.е. в противном случае вы идиот?
"Только придётся слегка поработать напильником и волшебными словами русского языка" - ну очень информативно.
"для unattended-мастера" - а это что за вещьь?
"Попытка применить INI-файл для немецкого Office XP к дистрибутиву русского Office 2003 удачей не закончится." - а для русских ХР и 2003 получится???
Резюме - вторая часть статьи написана ради гонорара и для своих друзей. Даже не всякий сисадмин это поймет и одобрит.