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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [решено] Редактирование svcpack.inf в процессе установки Windows

Ответить
Настройки темы
[решено] Редактирование svcpack.inf в процессе установки Windows

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

Ветеран


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


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


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

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


Изменения
Автор: sLiDeR-X
Дата: 17-06-2010
Необходимо для создания интерактивного выбора устанавливаемых программ из presetup.cmd
Методика описана тут или смотрим здесь:
читать дальше »
======
Касаемо Presetup.cmd

Предлагаю вам конструкцию presetup для возможности выбора устанавливаемых компонентов. Я сделал его для возможности выбора "весомых" программ на этапе RunOneEx. Вы можете прикрутить еще и к Т-13.

Сделал это для интерактивного выбора установки программ для разных компьютеров (слабых, старых, новых...) и для потребности каждого пользователя в отдельности (себя - для быстрой установки на виртуальную машину).

Если кто-то скажет, что для этого есть WPI и BS PostInstall - отвечу вам что использовать их не хочу и не желаю наворачивать дополнительными программами диск.

Вот сама конструкция
читать дальше »
Код: Выделить весь код
:: ================================== Конструкция для интерактивного выбора программ ==================================
:: ======================================================= НИЖЕ =======================================================
:DotNET
if exist %SrcDosPath%\I386\SVCPACK\DNet1140.exe (
	MSGBOX.EXE "•®вЁвҐ гбв**®ўЁвм .NET Framework 2.0...4.0 ЇаЁ ЇҐаў®¬ ўе®¤Ґ ў бЁб⥬г? “бв**®ўЄ* ¬®¦Ґв §**пвм ¤«ЁвҐ«м*®Ґ ўаҐ¬п!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
	if "%errorlevel%"=="7" (
		expand -r %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		find /V "DNet1140.exe -ai2P -gm2" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf >> %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new
		move /y %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
	)
)
:Office
if exist %SrcDosPath%\I386\SVCPACK\office2007.exe (
MSGBOX.EXE "•®вЁвҐ гбв**®ўЁвм Office 2007 ЇаЁ ЇҐаў®¬ ўе®¤Ґ ў бЁб⥬г? “бв**®ўЄ* ¬®¦Ґв §**пвм ¤«ЁвҐ«м*®Ґ ўаҐ¬п!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
	if "%errorlevel%"=="7" (
		expand -r %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		find /V "office2007.exe -ai -gm2" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf >> %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new
		move /y %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
	)
)
:Winstyle
if exist %SrcDosPath%\I386\SVCPACK\Winstyle.exe (
MSGBOX.EXE "•®вЁвҐ §*ЇгбвЁвм Ё§¬Ґ*Ґ*ЁҐ Ё*вҐа䥩б* Windows ЇаЁ ЇҐаў®¬ ўе®¤Ґ ў бЁб⥬г? “бв**®ўЄ* ¬®¦Ґв §**пвм ¤«ЁвҐ«м*®Ґ ўаҐ¬п!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
	if "%errorlevel%"=="7" (
		expand -r %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		find /V "Winstyle.exe -ai -gm2" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf >> %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new
		move /y %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
	)
)
:xReset
if exist %SrcDosPath%\I386\SVCPACK\xReset10.exe (
		expand -r %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		find "DNet1140.exe -ai2P -gm2" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		if %ERRORLEVEL%==0 (
			makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
			del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
			goto Drivers
		)
		find "office2007.exe -ai -gm2" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		if %ERRORLEVEL%==0 (
			makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
			del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
			goto Drivers
		)
		find "Winstyle.exe -ai -gm2" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		if %ERRORLEVEL%==0 (
			makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
			del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
			goto Drivers
		)
		find /V "xReset10.exe -aiK -! 120 zzzzzzReset" %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf >> %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new
		move /y %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf.new %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
		makecab %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf %systemdrive%\$WIN_NT$.~LS\I386\svcpack.in_
		del %systemdrive%\$WIN_NT$.~LS\I386\svcpack.inf
	)
)
:: ======================================================= ВЫШЕ =======================================================
:: ================================== Конструкция для интерактивного выбора программ ==================================


П.С.
Может быть как-то можно оптимизировать код, но я не знаю как, т.к. писал для своего уровня познания %)
======


Я так понял, что при запуске установки из Windows на системном диске создаются папки $WIN_NT$.~LS ...
Соответственно presetup.cmd отработает корректно.
При запуске из DOSа, видимо, методика другая.

Возможна ли реализация сабжа?

Отправлено: 10:59, 17-06-2010

 

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

Ветеран


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


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

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


Вложения
Тип файла: 7z y-RunOneEx_s_100617_14-21.7z
(47.4 Kb, 6 просмотров)

Придумал другую реализацию данной задачи.

Текст, добавляемый в presetup.cmd
читать дальше »
Код: Выделить весь код
:: ================================== Конструкция для интерактивного выбора программ ==================================
:: ======================================================= НИЖЕ =======================================================
:DotNET
if exist %SrcDosPath%\I386\SVCPACK\DNet1140.exe (
	MSGBOX.EXE "•®вЁвҐ гбв**®ўЁвм .NET Framework 2.0...4.0 ЇаЁ ЇҐаў®¬ ўе®¤Ґ ў бЁб⥬г? “бв**®ўЄ* ¬®¦Ґв §**пвм ¤«ЁвҐ«м*®Ґ ўаҐ¬п!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
	if "%errorlevel%"=="6" md "%systemdrive%\RunOnceEx\777"
)
:Office
if exist %SrcDosPath%\I386\SVCPACK\MSOffice2007.exe (
	MSGBOX.EXE "•®вЁвҐ гбв**®ўЁвм MS Office 2007 ЇаЁ ЇҐаў®¬ ўе®¤Ґ ў бЁб⥬г? “бв**®ўЄ* ¬®¦Ґв §**пвм ¤«ЁвҐ«м*®Ґ ўаҐ¬п!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
	if "%errorlevel%"=="6" md "%systemdrive%\RunOnceEx\888"
)
:Winstyle
if exist %SrcDosPath%\I386\SVCPACK\Winstyle.exe (
	MSGBOX.EXE "•®вЁвҐ §*ЇгбвЁвм Ё§¬Ґ*Ґ*ЁҐ Ё*вҐа䥩б* Windows ЇаЁ ЇҐаў®¬ ўе®¤Ґ ў бЁб⥬г? “бв**®ўЄ* ¬®¦Ґв §**пвм ¤«ЁвҐ«м*®Ґ ўаҐ¬п!" "MSGBOX" 3 3 10 && cmdow.exe MSGBOX /top
	if "%errorlevel%"=="6" md "%systemdrive%\RunOnceEx\999"
)
:: ======================================================= ВЫШЕ =======================================================
:: ================================== Конструкция для интерактивного выбора программ ==================================


После отработки presetup.cmd обрабатывается эддон y-RunOneEx (прикреплен)

Для работы необходим эддон CMD_Files (http://forum.oszone.net/attachment.p...1&d=1276759361)

Для оптимизации установки Windows и ускорения времени установки данный метод не совсем оптимальный (хочется реализовать метод, описанный в шапке)

Отправлено: 11:28, 17-06-2010 | #2



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

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


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

Ветеран


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


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

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


upd

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


Отправлено: 13:46, 18-06-2010 | #3


Старожил


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

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


Я пользую приблуду от NOV
http://forum.oszone.net/post-903496.html#post903496 - и ниже сами файлы
там тоже родной сетуп подменяется - мож пригодится
исходники - (по моему так называется-?) тоже есть. могу скинуть.

Отправлено: 15:17, 18-06-2010 | #4


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

Ветеран


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


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

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


сделал finish следующего содержания:

Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

Set WD=%~1
set file=svcpack.inf

If Exist "%I386%\%file%" Copy "%I386%\%file%" "%WD%\">nul

expand -r svcpack.in_
set file=svcpack.inf

for /f "delims=[] tokens=1" %%a in ('find /n "SetupHotfixesToRun" %file%') do set /a line=%%a-6

del /q tmp_file 2>nul
set counter=1
for /f "tokens=*" %%a in (%file%) do (
   echo %%a>>tmp_file
   if "!counter!"=="!line!" (
      echo SetupHotfixes.bat>> tmp_file
      goto Finish
   )
   set /a counter+=1
)
:Finish
move /y tmp_file %file%
makecab %file%
del /q %file% 2>nul

Copy /Y "%WD%\%file%" "%I386%\">nul
но он не отрабатывает вообще. подскажите где я делаю неправильно
и как сделать так, чтоб орбаватывались пустые строки тоже

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


Последний раз редактировалось sLiDeR-X, 19-06-2010 в 21:32.


Отправлено: 16:51, 19-06-2010 | #5


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

Ветеран


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


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

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


И все-таки я добил задуманное

Сделал [addon] z-KeepPrefSVC

Полностью осуществляет поставленные в шапке темы задачи!
Просьба протестировать

Последний раз редактировалось sLiDeR-X, 20-06-2010 в 19:58.

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

Отправлено: 17:55, 20-06-2010 | #6



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » [решено] Редактирование svcpack.inf в процессе установки Windows

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - Не получается установить Windows 7: зависания в процессе установки unclegogi Microsoft Windows 7 25 15-04-2012 09:17
ОБновления и svcpack.inf... DImaN! Автоматическая установка Windows 2000/XP/2003 2 30-10-2007 05:59
svcpack.inf desperate Автоматическая установка Windows 2000/XP/2003 7 13-06-2006 19:18
Подробнее о методе svcpack.inf Ven Автоматическая установка Windows 2000/XP/2003 6 12-08-2005 01:53
Номер билда в svcpack.inf. excimer1 Автоматическая установка Windows 2000/XP/2003 1 29-07-2005 22:30




 
Переход