15 лет назад 1 января 2004 в 22:36 140

Хотя Microsoft во время установки своих операционных систем Windows частенько предлагает пользователям “откинуться на спинку кресла и следить за ходом процесса инсталляции”, на практике это удается сделать крайне редко. Тому есть много причин: часто программе установки не удается найти какие-нибудь драйверы или файлы, она постоянно мучает вас вопросами о часовых поясах, имени рабочей станции и пароле администратора, не говоря уже о лицензионном соглашении и серийном номере.

ЧТО ТАКОЕ UNATTENDED?
Уже после установки Windows зачастую приходится потратить еще несколько часов на то, чтобы заставить ее работать и настроить. Все это еще можно как-то пережить, если вам раз в полгода приходится устанавливать Windows на свой домашний компьютер. Но как быть, если вы – администратор, отвечающий за работу сотни машин или просто часто переустанавливаете систему себе и своим друзьям? На помощь приходит сама Microsoft, предлагая нам возможность автоматизированной (unattended) установки Windows.

Каждая из версий ОС семейств Windows 2000, Windows XP и Windows 2003 предусматривает множество разнообразных путей автоматизации своей установки. В первую очередь, это:

  • возможность интегрировать в дистрибутив любые версии Service Pack;
  • установка с использованием файла ответов (иногда такой тип установки называют установкой с использованием сценария);
  • автоматическая сетевая установка (c использованием Remote Installation Service, RIS, или System Management Server, SMS);
  • клонирование системы.

Инсталляция может протекать (в зависимости от соответствующих настроек, о которых речь пойдет ниже) в ручном, полуавтоматическом и автоматическом режиме.

SETUP MANAGER
Как известно, в ходе установки Windows неоднократно “советуется” с пользователем относительно того, какие копировать компоненты, какой выбрать язык и так далее. Вполне логично собрать все ответы на эти вопросы в одном файле, с тем чтобы автоматизировать этот довольно скучный процесс. Отрадно, что файл ответов позволяет автоматизировать установку не только самой операционной системы, но еще и необходимых для ее работы драйверов устройств и нужных пользователю приложений.

Deployment Tools

Наиболее полную информацию по структуре файла ответов и некоторым другим темным вопросам, которые могут возникнуть при подготовке unattended-установки, вы можете получить, обратившись к справке по Deployment Tools. Это специальный набор утилит, поставляемый Microsoft на диске с дистрибутивом Windows и предназначенный для автоматизации установки операционной системы.

Архив Deployment Tools представлен на CD файлом DEPLOY.CAB в папке SUPPORT\TOOLS\. Его также можно бесплатно скачать с сайта Microsoft по адресу download.microsoft.com/download/whistler/ToolDep/SP1/WXP/EN-US/xpsp1deploytools_en.cab (для Windows XP) и www.microsoft.com/windows2000/downloads/servicepacks/sp4/default.asp (для Windows 2000). Кроме справочных материалов от самой Microsoft, имеется немало ресурсов в сети, посвященных unattended-проблематике. Один из лучших – www.msfn.org/unattended.

Файл ответов представляет собой обычный текстовый файл. Его имя может быть любым вида txt в формате 8.3 (чаще всего – unattend.txt), но если установка производится с компакт-диска или c использованием RIS, то с расширением sif и именем WinNT – в этом случае программа установки “подхватит” его автоматически. Внутренняя структура файла ответов напоминает структуру любого inf-файла: он состоит из нескольких разделов, часть из которых является необходимой, часть – опциональной. Каждый раздел идентифицируется заголовком, заключенным в квадратные скобки, за которым следует список параметров и инициализирующих эти параметры значений.

Всевозможных разделов и параметров в файле ответов содержится превеликое множество, поэтому создать его “с нуля” (да еще так, чтобы он при этом работал!) новичку в деле unattended-установок будет непросто, а главное – долго. В помощь начинающим Microsoft предлагает утилиту Setup Manager (файл setupmgr.exe в Deployment Tools) или, говоря по-русски, “Диспетчер установки”. С его помощью в простой диалоговой форме можно создавать файл ответов или использовать еще одну приятную возможность – автоматическое сохранение настроек уже сконфигурированной системы (только для Windows 2000).

При этом Setup Manager сам определяет значения основных параметров установленной ОС и заполняет ими свои поля для ввода, вам же остается только кликать на “ОК”. Наконец, он умеет создавать установочный каталог для сетевой установки или записи на CD. К сожалению, Setup Manager не позволяет производить тонкую настройку устанавливаемой ОС и создавать нестандартные дистрибутивы. Поэтому вам наверняка в дальнейшем не раз придется изменять файл ответов “вручную”. Все, что для этого потребуется, – это Notepad, а также немного терпения и внимания.

Пример типичного файла unattend.txt с комментариями

;SetupMgrTag Файл создан при помощи Setup Manager, комментарий выделяется точкой с запятой.

[Data] Эта секция используется, если установка производится прямо с CD.

AutoPartition=1 Система будет установлена на первый найденный раздел, на котором имеется достаточно места и нет другой установленной Windows (если ОС установлена, то будет запрос к пользователю).

MsDosInitiated=”0″ Показывает программе установки, что система загружается прямо с CD (в этом случае – 0).

UnattendedInstall=”Yes” Показывает, что производится unattended-установка Windows с CD.

[Unattended] Параметры текстового этапа установки.

UnattendMode=FullUnattended Режим установки (в данном случае – полностью автоматический).
UnattendSwitch=yes Отключение Welcome (Mini-Setup) Wizard, в частности окна регистрации пользователей (Out of Box Experience) при установке с загрузочного CD.

OemSkipEula=Yes Указывает на то, что вы согласны с условиями лицензионного соглашения (при установке соответствующий диалог не показывается).

OemPreinstall=Yes Если указано “Yes”, программа установки копирует на диск файлы из папки установочный_каталог\$oem$, что позволяет устанавливать дополнительное ПО.

TargetPath=\WINDOWS Папка, в которую будет устанавливаться Windows.
[GuiUnattended] Параметры графического этапа установки.

AdminPassword=* Пароль администратора (в данном случае пароля нет).

EncryptedAdminPassword=NO Нужно ли шифровать пароль в этом файле. Если параметр установлен в положение YES, то указанный в сценарии пароль интерпретируется как готовый hash.

OEMSkipRegional=1 Позволяет пропустить во время установки блок региональных настроек.
TimeZone=145 Часовой пояс (Москва – Санкт-Петербург – Волгоград).

OemSkipWelcome=1 Не показывать окно “Добро пожаловать в Windows”.

AutoLogonAccountCreation=No Не создавать дополнительные учетные записи – первый вход в систему произойдет от имени Администратор. Если установить в положение “Y”, то автоматически создается учетная запись пользователя с именем, указанным в параметре FullName, и автоматический вход при загрузке системы производится от имени созданного пользователя.

[Components] Здесь можно указать те компоненты, которые вы не хотите устанавливать (их список можно найти в файле WINNT\INF\sysoc.inf, в разделе [Components]).

Accesopt=Off Мастер специальных возможностей.

Deskpaper=Off Обои “Рабочего стола”.

Dialer=Off Телефон.

Media_clips=Off Клипы.

Games=Off Игры.

Templates=Off Шаблоны документов.

Msnexplr=Off MSN Explorer.

Msmsgs=Off MS Messenger.

Pinball=Off Пинбол.

ZoneGames=Off Игры в интернете.

[UserData] Данные пользователя.

ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX Серийный номер Windows. Если инсталлятор его не воспринимает, необходимо заключать в кавычки.

FullName=”Jerom” Полное имя владельца компьютера. Учтите: параметры, имеющие пробелы или символы кириллицы, следует заключать в кавычки!

OrgName=”Upgrade” Имя организации.

ComputerName=”Office1_03″ Имя компьютера (если стоит *, то оно генерируется автоматически).

[Display] Настройки экрана.

BitsPerPel=24 Глубина цвета.

Xresolution=800 Разрешение по оси х.

YResolution=600 Разрешение по оси у.

Vrefresh=85 Частота кадровой развертки.

[TapiLocation] Настройки телефонного соединения.

AreaCode=095 Код города.

[RegionalSettings] Региональные настройки.

LanguageGroup=5 Определяет языковую группу (в данном случае – Cyrillic).

Language=00000419 Язык (русский).

SystemLocale=00000419 Системная “локаль”.

UserLocale=00000419 Пользовательская “локаль”.

InputLocale=0409:00000409,0419:00000419 Устанавливаем английскую раскладку по умолчанию, вторая – русская.
[SetupMgr] Расположение дистибутива.

DistFolder=\device\cdrom0\i386 Путь к установочной папке.

DistShare=WinDistr Сетевое имя установочной папки.

[Identification] Параметры сетевой идентификации.

JoinWorkgroup=WORKGROUP Имя рабочей группы, в которую входит компьютер.

[Networking] Настройка сети.

InstallDefaultComponents=Yes Установка сетевых компонентов по умолчанию.

[GuiRunOnce] Раздел запуска программ.

Command0=C:\Temp\runonce.bat По завершении установки Windows запускаем файл C:\Temp\runonce.bat.

СОЗДАЕМ ДИСТРИБУТИВ

Создайте папку, например WinDistr (помните, что имена всех папок дистрибутива должны быть не длиннее 8 символов!), и скопируйте в нее каталог i386, в котором содержатся все файлы, необходимые для установки самой ОС. Если вы хотите устанавливать Windows с загрузочного CD, создайте каталог $OEM$ в папке WinDistr; во всех остальных случаях он должен располагаться в папке i386.

Установщик Windows автоматически скопирует его на жесткий диск во временный каталог $WIN_NT$.~LS. Внутри $OEM$ создаются дополнительные папки, в которые необходимо поместить программы, утилиты и драйверы, которые будут устанавливаться в конце инсталляции ОС (в ходе графической стадии).

Мы лишь кратко перечислим их. Если же вас интересует более полная информация, обратитесь, например, к документу mapcell.narod.ru/w2k_unattended_install.doc.

\Textmode – при установке копируется в $WIN_NT$.~BT. Содержит новые или обновленные файлы HAL и драйверы поддержки нестандартных накопителей.

\$$ – при установке копируется в %windir% и ее подпапки. Структура этой папки должна повторять структуру папки WINNT на целевом компьютере. При этом файлы из ее каталогов копируются в соответствующие каталоги WINNT.

\$1 – эквивалентна значению переменной %systemdrive%, используется для указания диска, на который будет установлена Windows на целевом компьютере.

\$1\Drivers – при установке копируется в %systemdrive%\Drivers. Содержит драйверы PnP-устройств.

\буква_диска\имя_каталога – при установке на целевом компьютере создается соответствующий этому имени каталог и в него копируется содержимое этой папки. Если по какой-то причине вам нужно в процессе установки создать папку с именем длиной более 8 символов, то поместите в нее файл $$Rename.txt, а в него запишите это имя.

ИНТЕГРАЦИЯ ПАКЕТОВ ОБНОВЛЕНИЙ

Все мы знаем, что время от времени Microsoft производит на свет очередной Service Pack или какой-нибудь патч. Но не всем известно, что их можно интегрировать в дистрибутив Windows, получив, таким образом, гораздо более удобный продукт. Эту возможность поддерживают Win 2000, Win XP и Win 2003.

Такую операцию полезно выполнить перед тем, как создавать CD с unattended-установкой. Вначале, как уже говорилось, нужно скопировать с компакт-диска Windows XP каталог i386 в папку WinDistr – это дистрибутив собственно оригинальной Windows. Затем запустите консоль и перейдите в тот каталог, где находится файл SP. Выполните команду вида имя_сервис_пака.exe -x.

После этого в появившемся диалоговом окне укажите временную папку, куда будет распакован SP (например, d:\TempSP). По завершении распаковки файлов пакета обновлений перейдите в каталог d:\TempSP\update и выполните команду: d:\TempSP\update\update.exe -s:путь\WinDistr.

В результате Service Pack будет благополучно интегрирован в дистрибутив. Установить же дополнительные исправления, не вошедшие в Service Pack, вы можете двумя способами:

1. Интегрировать последний пакет обновлений (на сегодняшний день – Rollup 1, download.microsoft.com/download/d/8/0/d80dfc9d-fe92-4009-aa54-1cd00c880a20/WindowsXP-KB826939-x86-ENU.exe) в Service Pack 1, а затем, если нужно, добавить свежие HotFix, вручную внести необходимые изменения в файлы dosnet.inf и svcpack.inf и скопировать сами пакеты в папку дистрибутив\i386\update\. Подробнее технология установки Rollup описана на сайте msfn.org/articles.php?action=show&id=38 и support.microsoft.com/?kbid=826939.
2. Создать bat-файл или cmd-файл вида:

@echo off
ECHO.
ECHO Installing Hot Fixes for Windows
start /wait %systemdrive%\Temp\HotFiles\Q330994.EXE /Q:A /R:N
start /wait %systemdrive%\Temp\HotFiles\Q823718.exe /Q /M /Z /N
EXIT

В этом файле нужно указать exe-файлы, содержащие HotFix, а затем вызвать его прямо в разделе GuiRunOnce файла ответов или в файле CmdLines.txt (см. ниже). Тогда во время установки все HotFix будут запущены инсталлятором Windows (Rollup 1 тоже можно установить как обычный HotFix). Имена файлов, содержащих дополнительные исправления, должны иметь формат 8.3.

В каталоге дистрибутива автор поместил все эти файлы в папку \$1\Temp\HotFiles. Таким образом, при установке они будут скопированы в каталог системный_диск\Temp\HotFiles. Команда start /wait в начале строки ставится для того, чтобы обновления запускались последовательно. А чтобы при установке обновлений не задавалось лишних вопросов, не сохранялась деинсталляционная информация и не производилась перезагрузка, нужно указать ключи /Q:A /R:N или /Q /M /Z /N (в зависимости от типа файла).

Если создается cmd-файл, его нужно поместить в тот же каталог, что и файлы Qхххххх.exe, а вызывается он строкой вида %systemdrive%\Temp\HotFiles\имя_файла.cmd.

Только учтите, что запуск установки патчей в bat-файле должен происходить строго в соответствии с порядком их выхода в свет (сначала старый, потом более новый), иначе возможна перезапись новых файлов более старыми версиями. Подробнее о втором способе установки пакетов исправлений можно посмотреть на support.microsoft.com/default.aspx?scid=kb;ru;249149 или на www.msfn.org/unattended/xp/installhotfixes.htm.

ИНТЕГРАЦИЯ В ДИСТРИБУТИВ ПРИКЛАДНЫХ ПРОГРАММ
Чтобы автоматически устанавливать дополнительные приложения, нужно вначале скопировать их дистрибутивы в каталог $OEM$ или один из его подкаталогов (см. ниже). После этого можно пойти двумя путями: либо создать в том же каталоге файл Cmdlines.txt, в который затем поместить инструкции по установке программ, либо записать их в раздел GuiRunOnce файла ответов – он содержит список команд, которые будут выполнены при первом входе в систему. Сама Microsoft рекомендует второй вариант, но мы рассмотрим оба.

Общий формат файла Cmdlines.txt таков:
[Commands]
“команда_1”
“команда_2”

“команда_n”
Указанные в кавычках (прописывать их надо именно в кавычках) команды выполняются на этапе графической установки системы в том порядке, в каком они следуют в файле. Они идентичны тем командам, которые бы вы вводили в командной строке для запуска инсталляции дистрибутивов ваших приложений, и могут содержать различные ключи.

Отличие использования файла Cmdlines.txt от указания команд в разделе GuiRunOnce состоит в том, что они будут выполняться еще на стадии установки Windows, а не после первого входа с систему. Это означает, что все изменения в конфигурации системы, внесенные при помощи этого файла, и все установленные с его помощью приложения будут доступны в равной степени всем пользователям, так как в момент установки они проводятся под профилем-шаблоном Default User (от имени System). К сожалению, используя файл CmdLines.txt, вы не сможете устанавливать дистрибутивные пакеты, сконфигурированные для установки с помощью Windows Installer (файл Msiexec.exe).

Если во время установки вам потребуется вносить изменения в реестр (например, для настройки каких-либо параметров Windows), самый простой способ сделать это – указать в файле Cmdlines.txt команду типа “regedit /s путь\имя_файла.reg”, где имя_файла.reg – это имя созданного вами файла редактора реестра, содержащего значения тех параметров, которые вы хотите изменить (файл regedit.exe желательно тоже поместить в $OEM$). Таким способом получается, например, проводить “твикинг” системы или изменять режим запуска любого сервиса уже на этапе установки Windows.

Установка же программ с использованием GuiRunOnce, как уже отмечалось, происходит после графической стадии при первом входе администратора (или пользователя) в систему (чтобы после автоматической установки вход в систему осуществлялся сразу, необходимо включить параметр AutoLogon=1 в раздел [GuiUnattended] файла ответов).

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

[GuiRunOnce]
Command0=C:\Temp\runonce.bat
Если вы все же не хотите возиться с Cmdlines, можно использовать следующую хитрость – добавить в раздел [GuiUnattended] файла winnt.sif строки:
DetachedProgram=”путь_к_файлу\имя_файла”
Arguments=”/параметры”
Запуск заданной таким образом команды и ее параметров командной строки тоже произойдет до регистрации пользователя в системе. Пример:
DetachedProgram=”C:\WINNT\regedit.exe”
Arguments=”/s C:\Temp\REGFILES\detach.reg”

DirectX 9b

Для автоматической установки DirectX, помимо обеспечения копирования распакованного дистрибутива DirectX (файлы BDA.CAB, BDANT.CAB и DirectX.CAB в Windows XP не нужны и их можно удалить) на жесткий диск (устанавливать программы с диска C, вообще говоря, предпочтительнее, так как в разных системах приводы CD-ROM имеют разные обозначения), необходимо использовать такую команду в разделе [GuiRunOnce]:
Command0=”start /wait %systemroot%\Temp\DirX\dxsetup.exe /opk”.

Обратите внимание на наличие дополнительного ключа в конце команды установки. Чтобы объяснить, зачем такие параметры нужны, придется сделать небольшое отступление. Дело в том, что при установке большинство программ требуют активного участия пользователя: нужно соглашаться с лицензионным договором, выбирать компоненты и т. д. Но наша задача – сделать unattend-установку, то есть пользователь не должен принимать в ней участия.

Многие программы специально для этого поддерживают режим “тихой” инсталляции (silent mode), если указать этот режим, установщик не задаст ни одного вопроса. Как узнать, поддерживает ли такую возможность конкретная программа? Большинство инсталляторов предоставляют информацию об этом при выполнении команды типа имя_инсталлятора.exe /? и в результате выводят окно, подобное приведенному ниже:

В версии DirectX 9 Microsoft убрала возможность “тихой” установки, поэтому в любом случае будет выводиться окно с лицензионным соглашением. Чтобы этого не происходило, нужно распаковать дистрибутив dx90b_redist.exe, а затем заменить файл dxsetup.exe на одноименный, взятый с www.msfn.org/unattend/files/dxsetup%20for%20dx9.0b.zip (либо вручную по смещению 0x33e2 заменить 74 на EB). Если нужно наблюдать за ходом инсталляции DirectX, то вместо ключа /opk используйте /windowsupdate. Особо хочется подчеркнуть, что если вы используете этот трюк, никто не сможет вас обвинить в том, что вы избегаете лицензионного соглашении: оно все равно выводится при распаковке файлов, и вы лишь принимаете его до unattended-установки.

INTERNET EXPLORER
Установка и настройка Internet Explorer 6 SP1 также может быть автоматизирована. Это делается уже хорошо знакомым способом – с помощью своего собственного файла ответов, который указывается при вызове инсталлятора IE:
ie6setup.exe /c:”ie6wzd /b:путь\имя_файла_ответов.txt /q”

А команда
start /wait C:\Temp\IE6\ie6setup.exe /C:”IE6WZD /S:””#e”” /Q:A /R:N” позволит установить IE 6 и без файла ответов. Более подробно о batch-файлах для IE и ключах его программы-установщика можно узнать по адресу www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/ie/reskit/ie6/part7/z03ie6rk.asp.
Если же нужно только настроить Internet Explorer и интернет-соединение, то можно воспользоваться ins-файлом (INternet Settings).

В ins-файле можно указывать некоторые настройки для IE (Favorites, отображаемый анимированный значок в правом верхнем углу и т. д.), настройки Outlook и соединения – номер телефона, ассоциированный с соединением скрипт-файл, DNS, шлюз и некоторые другие. Полный список (а он немаленький) – в уже упоминавшемся файле-справке по Deployment Tools (deploy.chm).

MS-OFFICE И MUI
Конечно, в случае с unattended-установкой было бы весьма приятно, если бы кроме Windows, IE, драйверов и исправлений, ставился еще и вездесущий Office. В принципе, это возможно, в “Офис” можно даже интегрировать соответствующие Service Pack и исправления, но, к сожалению, добиться этого по ряду причин не просто. Дело в том, что в MS Office множество настроек, а дистрибутив “Офиса” вместе с дистрибутивом Windows явно больше размера CD (единственный способ решить эту проблему – использовать DVD, если у вас, конечно, есть такая возможность).

Запуск же установки “Офиса” в конфигурации по умолчанию производится путем простого вызова msi-пакета, например в строке GuiRunOnce: start/wait%systemdrive%\Temp\Office\proplus.msi /QB. Обратите внимание, что в зависимости от дистрибутива Office XP название инсталляционного файла может отличаться – pro.msi, proret.msi и так далее. Варианты же нестандартной (в том числе выборочной) установки подробно рассмотрены на сайте www.msfn.org/unattended/xp/officexp_advanced.htm.

Но помните: чтобы подготовить unattended-установку Office XP с использованием файла ответов Unattended.MST, вам потребуется скачать Office XP Resource Kit Tools. Автоматическая установка MUI – пакета мультиязычной поддержки для английской версии Windows XP – также возможна, подробнее о ней можно узнать их документов www.microsoft.com/globaldev/reference/win2k/setup/unattended.mspx и www.microsoft.com/globaldev/reference/win2k/setup/unattended2.mspx. Но тут также надо учитывать объем дистрибутива, добавление каждого нового языка обойдется в 40-50 Мб. Если вы устанавливаете MUI из раздела GuiRunOnce, Microsoft рекомендует следующий синтаксис: start /wait %systemdrive%\Temp\MUI\MUISETUP.EXE -i 0419 –d 0419 -r –s.

ДРАЙВЕРЫ
Осталось поместить в наш дистрибутив драйверы устройств. Для этого в папке \$OEM$\$1 нужно создать каталоги, в которых и будут находиться эти самые драйверы. Имена каталогов могут быть произвольными, главное – не длиннее 8 символов. Но за такую свободу творчества приходится платить – все они должны быть указаны через точку с запятой (;) в строке OemPnPDriversPath файла ответов:

OemPnPDriversPath=Video;Audio;NetAdapt;MainB;MainB\Bus;MainB\AGP8X
Если структура каталога драйвера содержит дочерние каталоги, нужно просто скопировать его (не изменяя внутреннего устройства) в соответствующую папку внутри \$OEM$\$1, а затем прописать ко всем подпапкам пути в OemPnPDriversPath. Чтобы отключить проверку цифровых подписей драйверов добавьте в раздел [Unattended] файла ответов еще и параметр DriverSigningPolicy=Ignore. И последнее: нужно собрать и поместить в папку \$$\inf все inf-файлы, относящиеся к записанным в \$OEM$\$1 драйверам.

Очень часто драйверы поставляются в виде самораспаковывающегося и самоустанавливающегося архива. В этом случае нужно либо сначала их распаковать и потом аналогично распределить по каталогам, либо указать соответствующий exe-файл в разделе GuiRunOnce (он тоже должен поддерживать “тихую” установку). Например, для Intel Application Accelerator получим команду: start /wait %systemdrive%\Temp\IAA\iaa23_enu.exe -A –S

УДАЛЕНИЕ ВРЕМЕННЫХ ФАЙЛОВ

Поскольку записанные в разделе GuiRunOnce команды выполняются после установки системы, становятся доступными переменные окружения ОС, например, широко используемая нами переменная %systemdrive%, обозначающая корневой раздел системного диска.

Но к этому моменту временные файлы и папки (в том числе, папка $WIN_NT$.~LS, копия папки $OEM$), созданные самим инсталлятором Windows, уже удалены. Именно поэтому дистрибутивы всех устанавливаемых через GuiRunOnce программ нужно помещать не просто в \$OEM$, а в какую-нибудь подпапку вида \$OEM$\$1\имя_каталога – скопированная на диск, она не будет удалена после завершения установки Windows.

После установки программ содержание временного каталога C:\Temp, который использовался в наших примерах, легко удаляется с помощью обычного bat-файла, например:
@echo off
RD /S /Q %systemdrive%\Temp\IE6\
RD /S /Q %systemdrive%\Temp\DX\
EXIT
Системная переменная %systemdrive% используется на тот случай, если пользователь будет устанавливать Windows не на диск C:\.

Поклонники bat-файлов могут проводить не только очистку диска, но и всю установку приложений, а также, возможно, некоторых драйверов, указывая все команды в одном и том же “батнике”, а потом только вызвав его один раз в разделе GuiRunOnce. Иногда это будет даже удобнее – скажем, в том случае, если набор устанавливаемых программ часто меняется, а дистрибутив записан на CD.

В таком случае можно в GuiRunOnce указать, например, Command0=”c:\мой_bat-файл” и перед каждой установкой записывать этот файл на диск С: (или использовать флоппи-диск). Кроме того, с помощью этого BAT-файла можно вносить и изменения в реестр (точно так же, как это было описано выше).

ЗАПИСЬ КОМПАКТ-ДИСКА

Нам осталось только записать установочную папку на загрузочный CD. Корректнее всего создать диск с “родным” загрузочным сектором Windows XP – в этом случае мы получим доступ к томам NTFS, а инсталляция Windows стартует автоматически после загрузки ПК с компакт-диска.

Для создания такого диска потребуется собственно сам загрузочный сектор (bootcd.narod.ru/nt5boot.bin), а также три маркерных файла WIN51, WIN51IP и WIN51IP.SP1 (bootcd.narod.ru/ntidfiles.zip). В программе Nero при записи диска нужно установить такие опции: в качестве “Image file” (“Файл образа”) указать nt5boot.bin; параметр “Kind of emulation” (“Режим эмуляции”) установить в положение No Emulation (“Без эмуляции”); установить Numbers of loaded sectors (“Количество секторов для загрузки”) равным “4”; установить флаг Do not add the ‘;1’ ISO file version extension (“Не добавлять версию к имени файла”) на вкладке ISO.

Подробнее о технологии создания загрузочных CD, в том числе и идентичных дистрибутивным дискам Windows XP, можно прочитать, например, на сайтах bootcd.narod.ru/ntbootcd.htm, www.nu2.nu/bootcd/ или www.tacktech.com/display.cfm?ttid=160.
Недостаток у такого диска один: если вам вдруг захочется изменить файл ответов (например, в конфигурацию было добавлено оборудование, и к нему нужны новые драйверы), сделать это будет не так просто (если болванка не RW, конечно). Возможный выход – записать все на компакт-диск, а потом соорудить загрузочную дискету, на которой будет DOS, какой-нибудь Volkov Commander и те файлы, которые будут часто меняться, например, в ходе отладки сценария.

Если вы сделали загрузочный диск, идентичный дистрибутивному, то есть с использованием “родного” загрузочного сектора, то запуск инсталляции Windows с использованием созданного вами сценария произойдет автоматически сразу же после загрузки ПК с такого диска. В общем же случае для автоматической установки нужно запустить winnt.exe или winnt32.exe из папки установки с соответствующими параметрами, например: winnt32 /unattend:unattend.txt
То же самое для winnt: winnt /u:unattend.txt /s:g:\WinDistr

На первый взгляд может показаться, что создание автоматической установки отнимет слишком много времени, а усилия, затраченные на нее, не окупятся, даже если вы – администратор сети. Но в действительности все как раз наоборот. Чем больше и чаще вам придется ставить Windows, чем разнообразнее конфигурации компьютеров, тем больше у вас поводов заняться автоматизацией. Приведем один факт, говорящий сам за себя: во втором квартале этого года Microsoft перешла на Windows 2003, причем новая ОС была за первые два дня установлена на 80% всех машин (а это более 150 тысяч компьютеров)!

Ссылки по теме:

www.msfn.org/board/index.php?showforum=70 – конференция по проблеме unattended-установки
www.microsoft.com/windows2000/downloads/servicepacks/sp3/spdeploy.htm – все об установке Service Pack
www.microsoft.com/windows2000/downloads/servicepacks/sp3/hfdeploy.htm – установка Hotfix
microsoft.com/WindowsXP/pro/downloads/servicepacks/sp1/deploytools.asp – обновленный пакет Deployment Tools
berns.cae.wisc.edu/pages/wincdman.asp – Windows Compact Disk Management Script – утилита для интеграции пакетов обновлений в дистрибутив Windows
hiddensoft/AutoIt – утилита AutoIt, которая может использоваться для автоматизации установки любых программ
download.microsoft.com/download/OfficeXPProf/Install/10.0.4601.0/W982KMeXP/EN-US/orktools.exe – Office XP Resource Kit Tools
www.microsoft.com/technet/prodtechnol/windows2000pro/deploy/unattend/sp1ch01.asp – все о параметрах автоматической установки