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

Компьютерный форум 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

 

Аватара для batyaPS

Ветеран


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

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


Цитата sLiDeR-X:
Убрать ее немедленно! »
это же только пример был . конечно я бы её убрал.

так верно ?
читать дальше »

REM this is PreSetup
@echo off


:: ================================== Конструкция для интерактивного выбора программ ==================================
:: --------------------------------------------------- НИЖЕ 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
)


:: ----- 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 часть ---------------------------------------------------
:: ================================== Конструкция для интерактивного выбора программ ==================================


:Finish
Exit


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


: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


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



в секции :: ----- SetupHotfixes в строке call ::OnlyUpdate может одно двоеточее ?
call :OnlyUpdate это же переадресация на блок :OnlyUpdate ? правильно ?

и в секции :OnlyUpdate в конце переадресация на :EOF - это верно ? не нашел больше в скрипте упоминания о EOF .

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


Отправлено: 12:40, 13-09-2010 | #61



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

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


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

Ветеран


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


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

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


Цитата batyaPS:
в строке call ::OnlyUpdate может одно двоеточее »
да, одно, это я запарился.
Цитата batyaPS:
в конце переадресация на :EOF - это верно »
да. Это верно.

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

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

Отправлено: 16:56, 13-09-2010 | #62


Аватара для batyaPS

Ветеран


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

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


ещё вопрсец .
если программы ставятся с ключами то их тоже нужно дописывать ?

find "FormatFactory.exe -y -gm2 -fm0" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "FoxitR.exe -y -gm2 -fm0" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"

так ?

Отправлено: 11:20, 14-09-2010 | #63


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

Ветеран


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


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

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


batyaPS, нет, названий достаточно. Команда find ищет любое совпадение. Если вы укажете ключи - это будет избыточное условие.

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

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

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


Аватара для batyaPS

Ветеран


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

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


Цитата batyaPS:
можно ли используя этот аддон создать возможность выбора в процессе установки svcpack.inf ? »
работает . спасибо за помощь .
(а третий вариант подцепить реально ?)

Отправлено: 17:04, 14-09-2010 | #65


Аватара для batyaPS

Ветеран


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

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


помогите разобраться с проблемой .

-интегрирую со всеми своими аддонами
дополнение Z-FakeSetupAdv
дополнение z-KeepPrefSVC
дополнение z-Runss

с применением PreSetup.cmd
читать дальше »
REM this is PreSetup
@echo off


:: ================================== Конструкция для интерактивного выбора программ ==================================
:: --------------------------------------------------- НИЖЕ 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
)


:: ----- 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 часть ---------------------------------------------------
:: ================================== Конструкция для интерактивного выбора программ ==================================


:Finish
Exit


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


:OnlyUpdate
MSGBOX.EXE "Устанавливать программы? Иначе чистая Windows!" "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 "fontsAdd.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "VCRedist.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "dllsfox.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "dllsfull.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "RunRTL.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "RuntimePack.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Adobe4Exp.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "CpldapuR.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "DEPAE.EXE" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Java_SE_JDK_JRE_x86.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "DotNet.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "dx9_x86.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "BARSV.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "DTRun.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "PhysX.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "QuickTime.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Screens.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Shockwav.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Silverlight.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Themes.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "tweaks.cmd" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "USEPMTIMER.EXE" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Wallpprs.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Fonts.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "Pchealth.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "WinStyle.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "WSBoot.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "XLive.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "mpchc.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "zFoNtS.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "FnReady.cmd" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "MyRegTweaks.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
find "MassStor.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp"
move /y "%SystemDrive%\_SetupHotfixes.cmd.tmp" "%SystemDrive%\_SetupHotfixes.cmd"
)
goto :EOF


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

с выбором установки чистая (без лишних программ и полная (по умолчанию))
при выборе чистой установки всё хорошо ставится и загружается как надо .
при выборе полной установка проходит без ошибок до последней минуты ,
затем при загрузке происходит постоянная зацикленная перезагрузка
в безопасном режиме не принемается пароль админа .
в Documents and Settings нет не одного пользователя .

все логи с машины после полной установки и интеграции прилагаю .
логи

Отправлено: 10:59, 15-09-2010 | #66


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

Ветеран


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


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

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


batyaPS, Дело в ваших аддонах. Попробуйте интегрировать без данного аддона.

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


Последний раз редактировалось sLiDeR-X, 15-09-2010 в 13:30.


Отправлено: 11:20, 15-09-2010 | #67


Аватара для batyaPS

Ветеран


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

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


Цитата batyaPS:
find "MassStor.exe" "%SystemDrive%\_SetupHotfixes.cmd">>"%SystemDrive%\_SetupHotfixes.cmd.tmp" »
так она же ставится в обоих вариантах, а только в полном не работает .
хорошо , я буду проверять аддоны делением по полам

Отправлено: 11:25, 15-09-2010 | #68


Аватара для batyaPS

Ветеран


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

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


нашел . опять SPDT косячит .

Отправлено: 13:50, 15-09-2010 | #69


Аватара для voler

Ветеран


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

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


Цитата sLiDeR-X:
voler, и что вас не устраивает? Все файлы корректны. Другой вопрос - это ваш presetup.cmd. Но это уже в эту тему. »
Я делаю как вы сказали.
Беру ваши аддоны:
z-KeepPrefSVC
z-Runss

Копирую в Z-FakeSetupAdv файлы PreSetup.cmd PstSetup.cmd

Все больше не каких действий.

Что-то упустил?

-------
Linux, это плацдарм для изучения своих возможностей.


Отправлено: 14:44, 16-09-2010 | #70



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

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




 
Переход