Djons
Vadikan
Не * претендую * на * авторство, *идею позаимствовал c форума MSFN и в последствии доработал.
Суть такова:
Cоздаем * *нужные * нам * файлы *ответов *и *называем *их *winn1.sif, *winn2.sif... *и *т.д. *Зачем *так *много? Каждый из файлов ответов *может *содеражть *разные *настройки, один полностью в автомате ставит, *другой *скрывает *ненужные странички и вбивает стандартные и частоиспользуемые * значения, * третий * использует * для * установки дополнительные драйвера... вариантов может быть множество.
Далее, *берем *файл setupldr.bin (загрузчик, находится в папке i386), и с помощью любого *hex-редактора *заменяем *в *нем *все winnt.sif на winn1.sif (8 замен) сохраняем *измененный *файл *с *именем *setupld1.bin, *далее также *создаем *файл setupld2.bin, поменяв все winnt.sif на winn2.sif и так * далее * для *кажого файла ответов свой загрузчик.
Все *получившиеся *файлы *складываем *в папку i386, в результате имеем файлы *winn1.sif, *winn2.sif *и *setupld1.bin, *setupld2.bin *а *также setupldr.bin *(кот. *будет *использоваться *для *чистой *установки без файла ответов).
Для *того *чтобы *вся *эта *беда *работала, *нужен *любой бутлоадер, я использую * Bootable * CD * Wizard *(
http://bootcd.narod.ru ) *
В моем случае прописываем строчки в bootcat.ini:
Цитата:
\I386\SETUPLD1.BIN * * ; Windows XP Russian (FULL) ; Установка XP с SP1 + MSBlast & Sasser fixes + DRV + Soft
\I386\SETUPLD2.BIN * * ; Windows XP Russian (w/o DRV and OEM) * * *
\I386\SETUPLDR.BIN * * ; Windows XP Russian (CLEAN) * * * *; Стандартная установка Windows XP Russian
|
В *результате *получаем *3 *разных варианта установки системы с одного дистрибутива.
Но! Есть одна заковырка, если вы используете несколько файлов ответов с *OEM установкой (т.е. предположим вам нужны разные наборы настроек и софта), то *вам *нужны *и *разные *папки *$OEM$, *но к сожалению при установке *с CD (DVD), OEM файлы могут находиться только в корне диска в * папке * $OEM$ *(переменная *OemFilesPath= *в *winnt.sif *почемуто игнорируется, *видимо *используется *только *при *локальных *и сетевых установках).
Для *того *чтобы *обойти *это *ограничение *решил использовать батник, который * по *маркерному *файлу *определяет *какой *из *файлов ответов использовался *и *в *соответствии *с *этим *ищет инфу в той или другой папке.
Маркерный * *файл * *- * *это *файл *пустышка, кот. распаковывается из sfx *архива *за * 39 *минут *до *окончания установки.
Для этого есть специальный ключ:
Цитата:
[GuiUnattended]
* *DetachedProgram = "%SystemDrive%\Temp\dummy1.exe
|
Из * примера * видно *что *файл *распак. *с жесткого диска, все архивы попадают туда во *время *текстового *этапа *установки *вместе *со *всеми другими OEM файлами (в моем случае из папки $OEM$\$1\Temp). В это время копируются все * *архивы * *содержащие * *в *себе *по *одному *маркерному *файлу (dummy1.exe, *dummy2.exe *и *т.д.), *а *во *время t-39 распаковывается только нужный, указанный в файле ответов.
Таким *образом *когда *наступает *время применения *файлов настроек и установки *программ, *с *помощью батника *можно направить установку в нужную папку к нужным файлам.
В моем случае я использовал bat-файл со следующим условием:
Цитата choice.bat:
@cmdow @ /HID
@echo off
if exist %systemdrive%\Temp\dummy1.fle goto START
goto END
:START
// здесь идут ваши команды для установки софта
:END
|
dummy1.fle - это и есть маркерный файл, распакованный из dummy1.exe
Наверное *можно *использовать *и *копирование *вместо *распаковки, но при копировании *появляется *консольное *окно, *а я использовал winrar sfx архив, поэтому распаковка происходит незаметно.
Дерево CD:
Цитата:
$OEM$\
* $1\
* * *Temp\
* * * * dummy1.exe
* choice.bat
* cmdlines.txt
BCDW\
I386\
Install\
WIN51
WIN51IP
win51ip.SP1
BOOTFONT.BIN
BOOTCAT.INI
ser#.txt
|
[s]Исправлено:
EgOrus, 1:25 5-06-2004[/s]
[s]Исправлено:
EgOrus, 13:36 22-08-2004[/s]