Модификация файла svcpack.inf дистрибутива Windows.
Фактически переносит все строки после [SetupHotfixesToRun] файла svcpack.inf в отдельный _SetupHotfixes.cmd
Производился для возможности выбора установки компонентов (аддонов SVCPACK) на этапе Т-40, посредством ответов пользователя на вопросы либо обработкой посредством GUI, запускаемые из presetup.cmd. Это позволяет конечному пользователю выбирать из предложенного то, что ему действительно нужно.
Главная идея - отключать "весомые" аддоны такие как DotNET, Office... (особенно актуально будет сборщикам дистрибутивов - экономит время установки на ВМ )
Если ответ на запрос положительный или выбран чекбокс в GUI, то в файле _SetupHotfixes.cmd все остается как есть - установка рассматриваемого аддона будет произведена, как и положено. Если же вы ответили отрицательно, либо сняли чекбокс, то из _SetupHotfixes.cmd удаляется строка с соответствующим аддоном и в процессе установки он установлен не будет.
Существует 2 метода обработки:новый метод -
Вопросы реализованы с использованием консольной утилиты MsgBox 2.1.
"MSGBOX" 3 3 10 означает, что окно с 3-иконкой вопроса, 3-кнопками ДА-НЕТ и 10-секунд ожидания с ответом Да.
HTML код:
Код: Выделить всё
Доступные иконки: 1 = Информация (i) (по-умолчанию)
2 = Внимание (!)
3 = Вопрос (?)
4 = Стоп (X)
Доступные кнопки: 1 = OK (по-умолчанию)
2 = OK, Отмена
3 = Да, Нет
4 = Да, Нет, Отмена
5 = Повтор, Отмена
6 = Прервать, Повтор, Игнор
Возвращение в: 1 = OK была нажата
переменную 2 = Отмена была нажата
%errorlevel% 3 = Прервать была нажата
4 = Повтор была нажата
5 = гнор была нажата
6 = Да была нажата
7 = Нет была нажата
Задержка времени: n = количество секунд задержкиСкриншоты вопросов:
Для реализации вопросов необходимо в presetup.cmd добавить примерно такую секцию: не забудьте поменять кодировку текста на OEM
В раздел :: ----- Выбор программ перед установкой :
Код:
Код: Выделить всё
if exist "%DistrDir%\DNet1140.exe" call :DotNETВ конец presetup.cmd
Код:
Код: Выделить всё
:DotNET
MSGBOX.EXE "Хотите установить .NET Framework 2.0...4.0 при первом входе в систему? Установка может занять длительное время (более 30 минут)!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
if "%errorlevel%"=="7" (
find /v "DNet11" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
move /y "%SystemDrive%\_SetupHotfixes.cmd.tmp" "%SystemDrive%\_SetupHotfixes.cmd"
)
goto :EOFЕсли будут возникать проблемы с написанием - пишите в тему - помогу.
Для реализации выбора устанавливаемых компонентов понадобится поддержка presetup.cmd[/i], работа которого доступна только посредством:аддона
P.S. В архив вложен пример PreSetup.cmd и PstSetup.cmd (Если используете Gui-интегратор переименуйте PstSetup.cmd в PosSetup.cmd)
Смежная тема