sLiDeR-X
20-06-2010, 19:54
Аддон z-KeepPrefSVC
Модификация файла svcpack.inf дистрибутива Windows.
Фактически переносит все строки после [SetupHotfixesToRun] файла svcpack.inf в отдельный _SetupHotfixes.cmd
Производился для возможности выбора установки компонентов (аддонов SVCPACK) на этапе Т-40, посредством ответов пользователя на вопросы либо обработкой посредством GUI, запускаемые из presetup.cmd. Это позволяет конечному пользователю выбирать из предложенного то, что ему действительно нужно.
Главная идея - отключать "весомые" аддоны такие как DotNET, Office... (особенно актуально будет сборщикам дистрибутивов - экономит время установки на ВМ ;) )
Если ответ на запрос положительный или выбран чекбокс в GUI, то в файле _SetupHotfixes.cmd все остается как есть - установка рассматриваемого аддона будет произведена, как и положено. Если же вы ответили отрицательно, либо сняли чекбокс, то из _SetupHotfixes.cmd удаляется строка с соответствующим аддоном и в процессе установки он установлен не будет.
[hr]
Существует 2 метода обработки:
новый метод - GUI (http://forum.oszone.net/showthread.php?p=1576940)
старый метод - реализации вопросов при установке:
Вопросы реализованы с использованием консольной утилиты MsgBox 2.1.
"MSGBOX" 3 3 10 означает, что окно с 3-иконкой вопроса, 3-кнопками ДА-НЕТ и 10-секунд ожидания с ответом Да.
Доступные иконки: 1 = Информация (i) (по-умолчанию)
2 = Внимание (!)
3 = Вопрос (?)
4 = Стоп (X)
Доступные кнопки: 1 = OK (по-умолчанию)
2 = OK, Отмена
3 = Да, Нет
4 = Да, Нет, Отмена
5 = Повтор, Отмена
6 = Прервать, Повтор, Игнор
Возвращение в: 1 = OK была нажата
переменную 2 = Отмена была нажата
%errorlevel% 3 = Прервать была нажата
4 = Повтор была нажата
5 = гнор была нажата
6 = Да была нажата
7 = Нет была нажата
Задержка времени: n = количество секунд задержки
Скриншоты вопросов:
http://rghost.ru/2381253/thumb.png (http://rghost.ru/2381253.view) http://rghost.ru/2381252/thumb.png (http://rghost.ru/2381252.view)
http://rghost.ru/2381251/thumb.png (http://rghost.ru/2381251.view) http://rghost.ru/2381250/thumb.png (http://rghost.ru/2381250.view)
Для реализации вопросов необходимо в 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
Если будут возникать проблемы с написанием - пишите в тему - помогу.
[hr]
Для реализации выбора устанавливаемых компонентов понадобится поддержка presetup.cmd, работа которого доступна только посредством:
аддона [addon] Fake-Setup Advanced (http://forum.oszone.net/thread-119984.html)
[Проект] Gui-интегратор пакета обновлений и аддонов (http://forum.oszone.net/thread-100898.html)
[hr]
P.S. В архив вложен пример PreSetup.cmd и PstSetup.cmd (Если используете Gui-интегратор переименуйте PstSetup.cmd в PosSetup.cmd)
[hr]
Смежная тема [addon] z-Runss - модификация прогресс-бара установки (http://forum.oszone.net/thread-182180.html)
Модификация файла svcpack.inf дистрибутива Windows.
Фактически переносит все строки после [SetupHotfixesToRun] файла svcpack.inf в отдельный _SetupHotfixes.cmd
Производился для возможности выбора установки компонентов (аддонов SVCPACK) на этапе Т-40, посредством ответов пользователя на вопросы либо обработкой посредством GUI, запускаемые из presetup.cmd. Это позволяет конечному пользователю выбирать из предложенного то, что ему действительно нужно.
Главная идея - отключать "весомые" аддоны такие как DotNET, Office... (особенно актуально будет сборщикам дистрибутивов - экономит время установки на ВМ ;) )
Если ответ на запрос положительный или выбран чекбокс в GUI, то в файле _SetupHotfixes.cmd все остается как есть - установка рассматриваемого аддона будет произведена, как и положено. Если же вы ответили отрицательно, либо сняли чекбокс, то из _SetupHotfixes.cmd удаляется строка с соответствующим аддоном и в процессе установки он установлен не будет.
[hr]
Существует 2 метода обработки:
новый метод - GUI (http://forum.oszone.net/showthread.php?p=1576940)
старый метод - реализации вопросов при установке:
Вопросы реализованы с использованием консольной утилиты MsgBox 2.1.
"MSGBOX" 3 3 10 означает, что окно с 3-иконкой вопроса, 3-кнопками ДА-НЕТ и 10-секунд ожидания с ответом Да.
Доступные иконки: 1 = Информация (i) (по-умолчанию)
2 = Внимание (!)
3 = Вопрос (?)
4 = Стоп (X)
Доступные кнопки: 1 = OK (по-умолчанию)
2 = OK, Отмена
3 = Да, Нет
4 = Да, Нет, Отмена
5 = Повтор, Отмена
6 = Прервать, Повтор, Игнор
Возвращение в: 1 = OK была нажата
переменную 2 = Отмена была нажата
%errorlevel% 3 = Прервать была нажата
4 = Повтор была нажата
5 = гнор была нажата
6 = Да была нажата
7 = Нет была нажата
Задержка времени: n = количество секунд задержки
Скриншоты вопросов:
http://rghost.ru/2381253/thumb.png (http://rghost.ru/2381253.view) http://rghost.ru/2381252/thumb.png (http://rghost.ru/2381252.view)
http://rghost.ru/2381251/thumb.png (http://rghost.ru/2381251.view) http://rghost.ru/2381250/thumb.png (http://rghost.ru/2381250.view)
Для реализации вопросов необходимо в 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
Если будут возникать проблемы с написанием - пишите в тему - помогу.
[hr]
Для реализации выбора устанавливаемых компонентов понадобится поддержка presetup.cmd, работа которого доступна только посредством:
аддона [addon] Fake-Setup Advanced (http://forum.oszone.net/thread-119984.html)
[Проект] Gui-интегратор пакета обновлений и аддонов (http://forum.oszone.net/thread-100898.html)
[hr]
P.S. В архив вложен пример PreSetup.cmd и PstSetup.cmd (Если используете Gui-интегратор переименуйте PstSetup.cmd в PosSetup.cmd)
[hr]
Смежная тема [addon] z-Runss - модификация прогресс-бара установки (http://forum.oszone.net/thread-182180.html)