Только для экспертов! FAKE-Setup своими руками.
Метод использования Fake-копии SETUP.EXE был придуман неким
Pyron с форума MSFN и нынче широко используется для Unattend-пакетов, в основном драйверов (пакеты от Bashrat, BoaSoft и др.). Подробней о том как он фунциклирует можно почитать в мануалах к пакетам и на форумах MSFN. Несмотря на простой алгоритм, для написания EXE-файла нужно быть немного программером, а это ИМХО не совсем справедливо!

. Поэтому я решил реализовать его на AutoIT, но здесь ждал облом - AutoIT v.3 напрочь отказывался запускаться в PRE-Setup окружении WinXP, хотя между тем прекрасно работал из под Win2K. К счастью, все заработало на версии
2.64, которая до сих пор доступна для скачивания.
Привожу пример скрипта, где совмещены обе возможности -
AutoIT и
PreSetup чтобы всегда можно было выбрать удобный интерфейс. Код намеренно
не тестировался и может содержать ошибки - кому нужно, тот поймет что к чему.

Многое зависит еще от содержимого Presetup.Cmd
Код:

HideAutoItWin,On
SetBatchLines,100
;=======================================================
; Восстанавливаем параметры командной строки
;-------------------------------------------------------
SetEnv,i,0
Repeat,%0%
EnvAdd,i,1
StringTrimLeft,parm,%i%,0
SetEnv,CmdLine,%CmdLine% %parm%
EndRepeat
;=======================================================
; Установка путей к утилитам и драйверам
;-------------------------------------------------------
SetEnv,DrvTag,drv51
SetEnv,WrkDir,%SystemDrive%\\Install
;=======================================================
; Установка всех требуемых файлов
;-------------------------------------------------------
FileInstall,setupORG.exe,%SystemRoot%\\System32\\setupORG.exe
FileInstall,presetup.cmd,%WrkDir%\\presetup.cmd
FileInstall,cmdow.exe,%WrkDir%\\cmdow.exe
FileInstall,7za.exe,%WrkDir%\\7za.exe
FileInstall,setpath.exe,%WrkDir%\\setpath.exe
FileInstall,watchdrv.exe,%WrkDir%\\watchdrv.exe
;=======================================================
; Трикс с переименованием
;-------------------------------------------------------
IfExist,%SystemRoot%\\System32\\Setup.exe,RunWait,CMD /C REN Setup.exe SetupOld.exe,%SystemRoot%\\System32,Hide
IfExist,%SystemRoot%\\System32\\SetupORG.exe,RunWait,CMD /C REN SetupORG.exe Setup.exe,%SystemRoot%\\System32,Hide
;=======================================================
; Собственно запуск процесса установки
;-------------------------------------------------------
SetBatchLines,1
;-------------------------------------------------------
RunWait,CMD /C PreSetup.cmd %DrvTag% %WrkDir%,%WrkDir%\\,Hide
RunWait,Setup.exe %CmdLine%,%SystemRoot%\\System32
;=======================================================
; Чистим после себя
;-------------------------------------------------------
RunWait,CMD /C RD /Q /S %WrkDir%,%SystemDrive%\\,Hide
P.S. Несмотря на "убогость" и сложный синтаксис морально-устаревшей версии, использование AutoIT открывает широкие возможности для автоматизации установки, некоторые из которых я еще сам не освоил. Вот только некоторые:
1. Свобода от правки inf-файлов, все инструменты включены уже в один файл - SETUP.EXE, который устанавливается простым копированием.
2. Свобода выбора между WATCHDRV и стандартным AutoIT-методом отслеживания окон, тем более что WATCHDRV отрабатывает не всегда.
3. Возможность условного заполнения реквизитов. Например, загрузив из INI-файла базу всех ПК можно автоматически заполнить имя машины, лицензионный ключ и т.д. Сам не пробЫвал - нужды пока не было.
Обсуждение вынесено в отдельную
тему