OSzone.net
 
s  

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

Windows » Автоматическая установка » Использование файла svcpack.inf для установки программ и импорта твиков реестра
В избранное | Версия для печати | Посетителей: 3692 | Просмотров: 4924 (сегодня 11)   Текущий рейтинг: 4.28 (проголосовало 18)

На страницах сайта автоустановки много внимания уделяется использовнию файла 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"

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

 

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


Автор: Вадим Стеркин aka Vadikan
Иcточник: unattended.oszone.net
Опубликована - 07.03.2008

Оценить статью

Вверх

Популярные статьи раздела «Windows»Лучшие статьи раздела «Windows»
  1. Установка Windows XP на компьютер с Windows Vista
  2. Создание загрузочного ISO/CD
  3. Интеграция SATA/RAID драйверов
  4. Конфигурация Lite
  5. Интернет конфигурация
  1. Выбор устанавливаемых приложений
  2. HKEY_CURRENT_USER
  3. Подробная информация по всем службам
  4. Установка Windows XP на компьютер с Windows Vista
  5. Руководство по настройке Windows2000/XP/2003

Популярные темы форума OSzone.net

Последние добавления в каталог программ


s



Блоги Microsoft для ИТ-специалистов: RSS

Рассылка на Mail.ru

Windows All. Вопросы и ответы
Windows Vista. Вопросы и ответы


[AD] Rambler's Top100