УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS

       

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.



Содержание раздела