Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Система - [addon] z-KeepPrefSVC - интерактивный выбор устанавливаемых программ из svcpack.inf

Ответить
Настройки темы
Система - [addon] z-KeepPrefSVC - интерактивный выбор устанавливаемых программ из svcpack.inf

Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: sLiDeR-X
Дата: 22-11-2011
Описание: Обновление аддона
Вложения
Тип файла: 7z CMD_Files_s_110707_16-00.7z
(298.8 Kb, 308 просмотров)
Тип файла: 7z cmd_s_110923_12-57.7z
(1.1 Kb, 186 просмотров)
Тип файла: 7z z-KeepPrefSVC_s_111122_12-21.7z
(1.8 Kb, 181 просмотров)
Аддон z-KeepPrefSVC


Модификация файла svcpack.inf дистрибутива Windows.
Фактически переносит все строки после [SetupHotfixesToRun] файла svcpack.inf в отдельный _SetupHotfixes.cmd

Производился для возможности выбора установки компонентов (аддонов SVCPACK) на этапе Т-40, посредством ответов пользователя на вопросы либо обработкой посредством GUI, запускаемые из presetup.cmd. Это позволяет конечному пользователю выбирать из предложенного то, что ему действительно нужно.
Главная идея - отключать "весомые" аддоны такие как DotNET, Office... (особенно актуально будет сборщикам дистрибутивов - экономит время установки на ВМ )
Если ответ на запрос положительный или выбран чекбокс в GUI, то в файле _SetupHotfixes.cmd все остается как есть - установка рассматриваемого аддона будет произведена, как и положено. Если же вы ответили отрицательно, либо сняли чекбокс, то из _SetupHotfixes.cmd удаляется строка с соответствующим аддоном и в процессе установки он установлен не будет.




Существует 2 метода обработки:
  1. новый метод - GUI
  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, работа которого доступна только посредством:
  1. аддона [addon] Fake-Setup Advanced
  2. [Проект] Gui-интегратор пакета обновлений и аддонов


P.S. В архив вложен пример PreSetup.cmd и PstSetup.cmd (Если используете Gui-интегратор переименуйте PstSetup.cmd в PosSetup.cmd)


Смежная тема [addon] z-Runss - модификация прогресс-бара установки

Отправлено: 19:54, 20-06-2010

 

Аватара для Wowa_z

Старожил


Сообщения: 250
Благодарности: 44

Профиль | Отправить PM | Цитировать


SharkyEXE, замените указанные вами файлы в аддоне FakeSetup. Поскольку изначально в этом аддоне уже имеются эти файлы.

Отправлено: 22:13, 08-09-2010 | #51



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280

Профиль | Отправить PM | Цитировать


SharkyEXE, что за глупости несете? Я писал, что presetup.cmd - шаблон, т.е. нужно
Цитата Wowa_z:
замените указанные вами файлы в аддоне FakeSetup »
(это значит что файл\содержимое presetup.cmd из данного аддона нужно вставить в Fake-Setup Advanced или Gui-интегратор)

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:18, 09-09-2010 | #52


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


можно ли используя этот аддон создать возможность выбора в процессе установки svcpack.inf ?

svcpack1.inf (набор svcpack.inf в котором только обновления .NetFraim директX и прочее )
svcpack2.inf (набор svcpack.inf в котором все обновления + софт )

либо удаления в нём нужных строк . (так мы получим видоизмененный svcpack.inf без использования второго svcpack.inf)

Последний раз редактировалось batyaPS, 11-09-2010 в 19:25.


Отправлено: 19:05, 11-09-2010 | #53


Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280

Профиль | Отправить PM | Цитировать


batyaPS, вы можете делать со списком что угодно. Смотрите presetup.cmd и пишите условия. Разобраться не трудно.

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:37, 11-09-2010 | #54


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


Цитата sLiDeR-X:
batyaPS, вы можете делать со списком что угодно. Смотрите presetup.cmd и пишите условия. Разобраться не трудно. »
труднова то для меня это .

Отправлено: 15:01, 12-09-2010 | #55


Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280

Профиль | Отправить PM | Цитировать


Цитата batyaPS:
котором только обновления .NetFraim директX и прочее »
Допустим так:
Код: Выделить весь код
:OnlyUpdate
MSGBOX.EXE "Хотите установить дополнительные сторонние утилиты?" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
if "%errorlevel%"=="7" (
	find "Flash.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
	find "MSXML4.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
	find "ROOTSUPD.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
	find "DNet1140.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
	find "и т.д. .......... .exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
	move /y "%SystemDrive%\_SetupHotfixes.cmd.tmp" "%SystemDrive%\_SetupHotfixes.cmd"
)
goto :EOF
В этом случае при ответе НЕТ будет отработана цепочка условий на выбранные вами обновления: Flash.exe, MSXML4.exe, ROOTSUPD.exe, DNet1140.exe, и т.д. (добавляйте сами то, что вам нужно)

И в не забудьте отредактировать секцию ":: ----- SetupHotfixes" удалив все строки, начинающиеся на
Код: Выделить весь код
"if exist "%DistrDir%\ххх.exe" call :ххх"
и вставив:
Код: Выделить весь код
"call ::OnlyUpdate"

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:22, 12-09-2010 | #56


Аватара для Guman

Ветеран


Сообщения: 670
Благодарности: 58

Профиль | Отправить PM | Цитировать


сам не пользовалься но думаю нужная и очень интересная штука...
собственно я другое хотел спросить.
автор а ты не думал создавать гуи интерфейс??

Отправлено: 15:37, 12-09-2010 | #57


Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280

Профиль | Отправить PM | Цитировать


Guman, нет

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite


Отправлено: 16:11, 12-09-2010 | #58


Аватара для batyaPS

Ветеран


Сообщения: 968
Благодарности: 61

Профиль | Отправить PM | Цитировать


sLiDeR-X, правильно ли я отредактировал PreSetup.cmd
читать дальше »

REM this is PreSetup
@echo off

if exist %systemroot%\system32\UserMake.exe start /wait %systemroot%\system32\UserMake.exe -s -t 15
if exist %systemroot%\system32\WinntFix.exe start /wait %systemroot%\system32\WinntFix.exe 15 1356


:: ================================== Конструкция для интерактивного выбора программ ==================================
:: --------------------------------------------------- НИЖЕ 1 часть --------------------------------------------------
for %%i 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 %%i:\WIN51 Set SrcDosPathTemp=%%i:
if not exist %SrcDosPathTemp%\I386\fSetup.ini Set SrcDosPath=%SrcDosPathTemp%
set DistrDir=%SrcDosPath%\I386\SVCPACK


:: ----- SetupHotfixes
if exist "%DistrDir%" (
copy /y "%DistrDir%\_SetupHotfixes.cmd" "%SystemDrive%\_SetupHotfixes.cmd"
call ::OnlyUpdate
CHGSTR "---------- %SystemDrive%\_SETUPHOTFIXES.CMD" "" "%SystemDrive%\_SetupHotfixes.cmd" /b
)


:OnlyUpdate
MSGBOX.EXE "Хотите установить дополнительные сторонние утилиты?" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
if "%errorlevel%"=="7" (
find "Flash.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "MSXML4.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "ROOTSUPD.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "DNet1140.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "ш т.ф. .......... .exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
move /y "%SystemDrive%\_SetupHotfixes.cmd.tmp" "%SystemDrive%\_SetupHotfixes.cmd"
)
goto :EOF


:: ----- Runss
if exist "%DistrDir%\Runss\Runss.exe" (
copy /y "%DistrDir%\Runss\Run*" "%SystemDrive%\"
for /f "delims=" %%i in (%DistrDir%\Runss\BEGIN.xml) do echo %%i>>%SystemDrive%\1.tmp
if not exist %SystemDrive%\WINDOWS\system32\fSetup.ini (
CHGSTR "%%SrcDosPath%%" "%SrcDosPath%" "%SystemDrive%\_SetupHotfixes.cmd" /b
for /f "skip=1 tokens=1-5,* delims=\. " %%a in (%SystemDrive%\_SetupHotfixes.cmd) do (
echo ^<Item Title="%%d" Program="%%a\%%b\%%c\%%d.%%e" Parameters="%%f"/^>>>%SystemDrive%\1.tmp
)
)
if exist %SystemDrive%\WINDOWS\system32\fSetup.ini (
for /f "tokens=1-5,* delims=\. " %%a in (%SystemDrive%\_SetupHotfixes.cmd) do (
echo ^<Item Title="%%d" Program="%%a\%%b\%%c\%%d.%%e" Parameters="%%f"/^>>>%SystemDrive%\1.tmp
)
)
for /f "delims=" %%i in (%DistrDir%\Runss\END.xml) do echo %%i>>%SystemDrive%\1.tmp
<Nul >%SystemDrive%\Runss.xml Set /P $VAR=яю
%DistrDir%\Runss\recode cp1251..utf16-le <%SystemDrive%\1.tmp >>%SystemDrive%\Runss.xml
del "%SystemDrive%\1.tmp"
echo %%SystemDrive%%\Runss.exe>%SystemDrive%\_SetupHotfixes.cmd
)


:: --------------------------------------------------- ВЫШЕ 1 часть ---------------------------------------------------
:: ================================== Конструкция для интерактивного выбора программ ==================================


:Driver
if exist %SrcDosPath%\OEMDRV\DPsXtrct.exe start /wait %SrcDosPath%\OEMDRV\DPsXtrct.exe
attrib -r -a -s +h "%systemdrive%\D"
::Start /Wait %SrcDosPath%\OEMDRV\BIN\7za.exe x -yo"%SystemDrive%\" "%SrcDosPath%\OEMDRV\DP*.7z"
::un7zip.exe "%SrcDosPath%\OEMDRV\DP*.7z" "%SystemDrive%\"


:Finish
MSGBOX.EXE "Начинается автоматическая установка Windows. Дальнейших ручных действий не требуется. В конце установки получите готовый Windows с установленными программами и измененным интерфейсом. Можете попить кофе " "MSGBOX" 1 1 10 && cmdow.exe MSGBOX /top
Exit


:: ================================== Конструкция для интерактивного выбора программ ==================================
:: --------------------------------------------------- НИЖЕ 2 часть ---------------------------------------------------
:: --------------------------------------------------- ВЫШЕ 2 часть ---------------------------------------------------
:: ================================== Конструкция для интерактивного выбора программ ==================================



для сохранения работоспособности аддона z-Runss и задаваемого вопроса об установке сторонних утилит. ?


ответ НЕТ исключит установку программ указанных в :OnlyUpdate ?

будет ли при этом какая то кнопка ответом по умолчанию ? с таймером ? или нет ?
если нет можно ли это реализовать ?

и секция :Driver и :Finish нужна ли мне если я хочу только вопрос про доп программы и работу аддона z-Runss ?

Последний раз редактировалось batyaPS, 12-09-2010 в 18:49.


Отправлено: 17:36, 12-09-2010 | #59


Аватара для sLiDeR-X

Ветеран


Автор проектов


Сообщения: 1202
Благодарности: 280

Профиль | Отправить PM | Цитировать


batyaPS, секцию :OnlyUpdate нужно вставить во 2 часть а не в 1. И зачем вы оставили эту строку:
Код: Выделить весь код
find "ш т.ф. .......... .exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
? Убрать ее немедленно!

Ответ ДА стоит по-умолчанию (таймер 10 сек (смотрите параметры MSGBOX.EXE)).Ответ НЕТ заставит оставить только указанные программы.

Вам нужно только то, что заключено между 1 и 2 частями "Конструкция для интерактивного выбора программ". Все остально можно убрать (это качается UserMake.exe, WinntFix.exe, секции Driver и Finish). Обязательно оставить в секции Finish строку Exit (для полной отработки)

-------
Конструктор RDS_Boot_KIT и комплект Recovery DiskSuite

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:32, 12-09-2010 | #60



Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Система - [addon] z-KeepPrefSVC - интерактивный выбор устанавливаемых программ из svcpack.inf

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено




 
Переход