Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
Iceсream Screen Recorder – это программа для захвата видео с аудио и микрофоном и создания скриншотов с помощью ряда доп...
TeraByte Drive Image Backup and Restore - это доступный и надежный пакет программных средств, предназначенных для резерв...
Компактная программа для создания PDF-документов. После установки novaPDF в системе появляется новый виртуальный принтер...
Программа для автоматической смены обоев на рабочем столе компьютера. BioniX Wallpaper предоставляет пользователю возмож...
ProduKey - маленькая утилита для просмотра серийных кодов прикладного ПО и системы. Иногда бывает необходимо узнать тот ...
OSzone.net Microsoft Автоматическая установка Автоматическая установка Windows XP Использование файла svcpack.inf для установки программ и импорта твиков реестра RSS

Использование файла svcpack.inf для установки программ и импорта твиков реестра

Текущий рейтинг: 4.5 (проголосовало 36)
 Посетителей: 15235 | Просмотров: 23315 (сегодня 0)  Шрифт: - +

На страницах сайта автоустановки много внимания уделяется использованию файла cmdlines.txt. С его помощью можно выполнять целый ряд задач - от импорта твиков реестра на Т-12 до организации установки программ методом RunOnceEx. Однако использование файла cmdlines.txt возможно только при наличии $OEM$ папок и соответствующих параметров в файле ответов. В некоторых сценариях автоматической установки приходится выполнять подобные задачи, обходясь без $OEM$ папок. В таких случаях эффекта, аналогичного использованию cmdlines.txt, можно достичь с помощью файла svcpack.inf, располагаемого в папке i386 установочного диска. Этот файл рассматривается в статье Мeтод svcpack.inf применительно к установке обновлений, но его можно приспособить и для других задач.

Состав файла svcpack.inf

Ниже приводится пример файла svcpack.inf для Windows XP:

[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=1
BuildNumber=2600

[SetupData]
CatalogSubDir="\i386\svcpack"

[ProductCatalogsToInstall]

[SetupHotfixesToRun]
batch.cmd

Все задачи будут выполняться из пакетного файла batch.cmd (имя может быть любым, конечно), который размещается в папке i386\svcpack установочного диска. На Т-13 команды раздела [SetupHotfixesToRun] инициализируются, и запускается файл batch.cmd.

svcpack.inf и RunOnceEx

Рассмотрим пример того, как организовать установку программ методом RunOnceEx из svcpack.inf. Допустим, что мы хотим запустить таким способом некий исполняемый файл file.exe. Файл необязательно должен иметь расширение .EXE - это может быть любой пакетный файл (.CMD). Поняв принцип работы способа и зная, каким образом работает RunOnceEx, вы легко сможете скорректировать приведенный ниже код для установки любых программ или запуска других пакетных файлов при первом входе в систему.

Поскольку $OEM$ папки не используются, все подлежащие исполнению файлы располагаются на CD или DVD. Поэтому основная задача сводится к тому, как определить расположение файла file.exe и внести путь к нему в реестр для последующего запуска при первом входе в систему. В этом случае файл batch.cmd будет выглядеть следующим образом:

@echo off
:: Укажите путь к папке, в которой находится исполняемый файл, относительно корня компакт-диска
SET folder=install
:: Определяем букву компакт-диска
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\WIN51 SET CDROM=%%d:
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\999 /V 1 /D "%CDROM%\%folder%\file.exe" /f

В третьей строке необходимо указать путь к папке, в которой находится исполняемый файл. Путь указывается относительно корня 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 будет выглядеть так:

@echo off
:: Укажите путь к папке, в которой находится файл твиков, относительно корня компакт-диска
SET folder=install
:: Определяем букву компакт-диска
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\WIN51 SET CDROM=%%d:
regedit /s "%CDROM%\%folder%\tweaks.reg"

Внимание! Параметры автоматического входа в систему, указываемые в файле svcpack.inf, не срабатывают. Используйте другие методы, описанные в указанной статье. 


Примечание. В пакетном файле, рассматриваемом в статье, используется способ назначения переменной %CDROM%, который в некоторых сценариях может не привести к ожидаемым результатам. Это произойдет только в том случае, если после назначения переменной и внесения параметров в реестр на Т13/Т12, система обнаружит дисковые устройства и, как следствие, назначит им буквы. В результате при первом входе в систему привод CD или DVD может иметь букву, отличную от той, которая была присвоена на более раннем этапе установки ОС.

Автор благодарит участника конференции OSZone Master Fess за помощь в подготовке статьи.

Автор: Вадим Стеркин aka Vadikan  •  Иcточник: unattended.oszone.net  •  Опубликована: 07.03.2008
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   svcpack, wpi.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.