Справочник по автоматической установе Windows XP
4b37ffca

Изменения в существующем RunOnceEx.cmd


Основным препятствием для установки приложений с CD является "непостоятнство" буквы CD-ROM. В зависимости от конфигурации компьютера это может быть D или E или F и т.д. Таким образом основная задача - назначить переменную %CDROM% независимо от конфигурации компьютера. Существует несколько способов сделать это. Я убрал со страницы самый старый способ, изложенный когда-то на MSFN в угоду другому, o котором сообщил в письме cREoz (creoz(at)canada.com), за что ему большое спасибо.

Откройте RunOnceEx.cmd в Блокноте и добавьте следующую строку сразу после echo off:

SET CDROM=%~d0

Это на самом деле самый короткий и надежный метод назначения переменной %CDROM%. Принцип работы изложен в справочной системе Windows (команда FOR, последний блок документации). Вы также можете почитать объяснения vserd

в этой теме на OSZone. Учтите, однако, что этот метод работает только если команда исполняется из пакетного файла, запущенного с CD.

Альтернативный метод, который я использовал ранее и который описан сейчас на MSFN, основан на поиске файла WIN51 и если таковой найден на диске, то ему соответственно назначается переменная %CDROM%. :

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:

Этот метод сработает откуда бы не запускался пакетный файл с данной командой. Вообще, если вас интересуют различные методы назначения переменной %CDROM%, то рекомендую заглянуть в эту тему на MSFN. Или просто поискать в форуме Unattended Windows по CDROM в названиях тем.

Следующим шагом будет перемещение всех программ из директории C:\XPCD\$OEM$\$1\install\ в C:\XPCD\Software\ (вы можете назвать новую директорию как угодно).

Теперь вернитесь к RunOnceEx.cmd и проделайте следующие изменения:

Все значения %systemdrive% меняем %CDROM%

Изменяем все пути к установочным файлам программ, чтобы они соответствовали новой директории Software и системной переменной %CDROM%

Это все, что требуется сделать! Теперь RunOnceEx.cmd назначит переменную %CDROM% и экспортирует соответствующую букву диска в реестр. Ваш RunOnceEx.cmd должен выглядеть примерно так:

cmdow @ /HID

@echo off

SET CDROM=%~d0

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Installing Applications" /f

REG ADD %KEY%\001 /VE /D "Preparing Installation..." /f

REG ADD %KEY%\001 /V 1 /D "%CDROM%\Software\prepare.cmd" /f

REG ADD %KEY%\015 /VE /D "Alcohol 120 Percent" /f

REG ADD %KEY%\015 /V 1 /D "%CDROM%\Software\alcohol\setup.exe /qn Reboot=Suppress" /f

REG ADD %KEY%\015 /V 2 /D "REGEDIT /S %CDROM%\Software\alcohol\register.reg" /f

REG ADD %KEY%\025 /VE /D "Diskeeper 8.0.478" /f

REG ADD %KEY%\025 /V 1 /D "%CDROM%\Software\Diskeeper\DiskeeperPro_8.0.478.exe /s /v/qn" /f

EXIT



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