На страницах сайта автоустановки много внимания уделяется использовнию файла cmdlines.txt. С его помощью можно выполнять целый ряд задач - от импорта твиков реестра на Т-12 до организации установки программ методом RunOnceEx. Однако использование файла cmdlines.txt возможно только при наличии $OEM$ папок и соответствующих параметров в файле ответов. В некоторых сценариях автоматической установки приходится выполнять подобные задачи, обходясь без $OEM$ папок. В таких случаях эффекта, аналогичного использованию cmdlines.txt, можно достичь с помощью файла svcpack.inf, располагаемого в папке i386 установочного диска. Этот файл рассматривается в статье Мeтод svcpack.inf применительно к установке обновлений, но его можно приспособить и для других задач.
Состав файла svcpack.inf
Ниже приводится пример файла svcpack.inf для Windows XP:
Все задачи будут выполняться из
пакетного файла
batch.cmd (имя может быть любым, конечно), который размещается в папке
i386svcpack установочного диска. На Т-13 команды раздела [SetupHotfixesToRun]
инициализируются, и запускается файл batch.cmd.
svcpack.inf и RunOnceEx
Рассмотрим пример того, как организовать установку программ методом RunOnceEx из
svcpack.inf. Допустим, что мы хотим запустить таким способом некий
исполняемый файл file.exe. Файл необязательно должен иметь расширение .EXE
- это может быть любой пакетный файл (.CMD). Поняв принцип работы способа и
зная, каким образом работает RunOnceEx, вы легко сможете скорректировать
приведенный ниже код для установки любых программ или запуска других пакетных
файлов при первом входе в систему.
Поскольку $OEM$ папки не используются, все подлежащие исполнению файлы
располагаются на CD или DVD. Поэтому основная задача сводится к тому, как
определить расположение файла file.exe и внести путь к нему в реестр для
последующего запуска при первом входе в систему. В этом случае файл batch.cmd
будет выглядеть следующим образом:
В третьей строке необходимо указать путь к папке, в которой находится
испоняемый файл. Путь указывается относительно корня CD или DVD. В данном
примере file.exe
расположен в папке install, которая в свою очередь находится в корне
компакт-диска. Просто подставьте свое значение вместо install. Остальные
команды подробно рассматриваются в статье
Запуск RunOnceEx с CD, поэтому на них мы не будем останавливаться.
Это все! Теперь на Т-13 из файла svcpack.inf будет запущен файл
batch.cmd, который в свою очередь определит расположение файла file.exe
и внесет информацию в раздел реестра RunOnceEx. Наконец, при первом входе в
систему будут запущены команды раздела RunOnceEx, что повлечет запуск файла
file.exe.
svcpack.inf и WPI
Если вы используете программу WPI для выборочной установки приложений, вы
также можете задействовать этот способ. В этом случае вместо file.exe
запускается
WPI.hta.
svcpack.inf и твики реестра
Поскольку импорт твиков реестра в раздел HKCU необходимо выполнять до первого
входа в систему, для этой задачи можно также использовать файл svcpack.inf.
В этом случае содержимое файла batch.cmd будет выглядеть так:
Автор благодарит участника конференции OSZone
Master Fess за помощь в подготовке статьи.
Автор: Вадим Стеркин aka
Vadikan
Иcточник: unattended.oszone.net