Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Проблема часто меняющихся обновлений (http://forum.oszone.net/showthread.php?t=95649)

gaivor 07-12-2007 16:08 692771

Проблема часто меняющихся обновлений
 
Здравствуйте уважаемые господа!

К сожалению господа, я инвалид детства (ДЦП) и поэтому компьютер это моя жизнь, я иногда подрабатываю тем, что помогаю «чайникам» недавно купившим компьютер поставить систему. По материалам сайта oszone.net я создал диск, который не задаёт идиотские вопросы при установке, ну кроме, пожалуй, ключа продукта, он же в каждом случае свой, не так ли? Создав такой диск, я столкнулся с неким неудобством, а именно, система занимает около 400 MB на CD, как Вы сами понимаете добавление на такой диск часто меняющихся обновлений проблематично, более того, насколько я знаю, дописать на загрузочный DVD невозможно. И вот, имея много свободного времени, я придумал, как обойти это неудобство.

Кому в корне непонятно сказанное ниже, читайте учебник по автоматизации установки XP.

Файл cmdlines.txt выглядит так:
Код:

[COMMANDS]
"RunOnceEx.cmd"

Файл RunOnceEx.cmd выглядит так:
Код:

SET CDROM=%~d0
REGEDIT /S NumLock_On.reg
REGEDIT /S PowerCfg.reg
REGEDIT /S Regional_Set.reg
REGEDIT /S Sound_Off.reg

Rem Вся идея в одной нижеследующей команде…
FOR %%a 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 %%a:\SP\T-12.cmd %%a:
Rem Она выполняет файл T-12.cmd который находится на флэшке в папке ?:\SP, при этом буква флэшки заранее
Rem неизвестна.

EXIT

Файл T-12.cmd выглядит так:
Код:

%1
cd \sp
cls
copy T--9.cmd %windir%\system32
Rem При этом в файле Winnt.sif есть строка «[SetupParams]-UserExecute="T--9.cmd"»

_install.cmd


EXIT

Файл _install.cmd выглядит примерно так:
Код:


WindowsXP-KB933360-x86-RUS.exe /quiet /norestart /o /n
WindowsXP-KB933729-x86-RUS.exe /quiet /norestart /o /n
WindowsXP-KB943460-x86-RUS.exe /quiet /norestart /o /n

"Windows Installer (XP)\WindowsInstaller-KB893803-v2-x86.exe" /quiet /norestart /o /n
"Windows Installer (XP)\WindowsXP-KB927891-v3-x86-RUS.exe" /quiet /norestart /o /n
"Windows Update\WindowsUpdateAgent30-x86.exe" /quiet /norestart /o /n

"Outlook Express\WindowsXP-KB900930-x86-RUS.exe" /quiet /norestart /o /n
"Outlook Express\WindowsXP-KB929123-x86-RUS.exe" /quiet /norestart /o /n
"Outlook Express\WindowsXP-KB941202-x86-RUS.exe" /quiet /norestart /o /n

"Network Diagnostics for Windows XP tool\WindowsXP-KB914440-v12-x86-RUS.exe" /quiet /norestart /o /n

"Internet Explorer 7\IE7-WindowsXP-x86-rus.exe" /passive /nobackup /norestart
"Internet Explorer 7\SP\WindowsXP-KB904942-v2-x86-RUS.exe" /quiet /norestart /o /n
"Internet Explorer 7\SP\IE7-WindowsXP-KB937143-x86-RUS.exe" /quiet /norestart /o /n

REGEDIT /S Reg\HKCU.reg
REGEDIT /S Reg\HKLM.reg
REGEDIT /S Reg\Advanced.reg
REGEDIT /S Reg\IE7.reg

Файл T--9.cmd выглядит так:
Код:

FOR %%a 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 @%%a:\SP\T-9.cmd %%a:
Rem На этот раз выполняется файл T-9.cmd на флэшке (за 9 минут до конца…)
EXIT


Файл T-9.cmd выглядит так:
Код:

%1
cd \sp
cls
copy T--0.cmd %windir%\system32
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\1 /V 1 /D "T--0.cmd" /f
del %windir%\kb*.log /q
rmdir /s /q %windir%\$hf_mig$
EXIT

Файл T--0.cmd выглядит так:
Код:

FOR %%a 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 @%%a:\SP\T-0.cmd %%a:
Rem Выполняется файл T-0.cmd на флэшке (при первом входе…)
EXIT

Файл T-0.cmd выглядит так:
Код:

%1
cd \sp
cls
Rem Здесь выполняется то, что нельзя выполнить раньше…
NetIcon_On.vbs
"Internet Explorer 7\SP\IE7-WindowsXP-KB938127-x86-RUS.exe" /passive /norestart
"Internet Explorer 7\SP\IE7-WindowsXP-KB939653-x86-RUS.exe" /passive /norestart
cd "Windows Media Player 10"
_install.cmd
cd ..

rmdir /s /q %windir%\$NtUninstallKB943460$
rmdir /s /q %windir%\ie7updates
rmdir /s /q %windir%\$hf_mig$
del %windir%\kb*.log /q
del %windir%\system32\T--0.cmd /q


EXIT

Вот так господа.

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

Gaivor

gora 07-12-2007 16:34 692786

gaivor, отредактируйте пост, пожалуйста, используя теги CODE. Заключите в них каждый ваш файл, и над каждым напишите его название вместо
Цитата:

Цитата gaivor
Файл T-0.cmd выглядит так: »

. Просто плохо воспринимается информация, да и копировать из тегов будет проще. Замеченные опечатки:
Цитата:

Цитата gaivor
Вся идея одной нижеследующей команде ...
Rem На этот выполняется файл T-9cmd на флэшке (за 9 минут до конца…) »

Успехов Вам.

Vadikan 07-12-2007 20:34 692937

Цитата:

Цитата gaivor
добавление на такой диск часто меняющихся обновлений проблематично »

Спасибо. Насколько я понял, вы имеете в виду обновления операционной системы вида WindowsXP-KBХХХХХ-x86-RUS.exe. Если так, то предложенная схема мне выглядит несколько сложноватой. По сути ведь все сводится к запуску одного пакетного файла с флэшки, но почему-то вокруг этого много накручено всего (или мне кажется?) :)

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

Отдаленно похожая идея была VseDoFeNi, только там на CD было завязано HotFixes Installer - полуфинал. Подход с другой стороны - имеется установочный диск с интегрированными обновлениями, и он используются для установки недостающих обновлений на любую систему ХР.

gaivor 09-12-2007 15:10 693799

Здравствуйте всем!

Огромное СПАСИБО за помощь в оформлении, я не заметил свои опечатки и не прочитал, как делать теги, а Вы мне помогли…

Vadikan, я не согласен с Вами, если рассуждать как Вы, то проще всего запустить _install.cmd сразу после установки руками, но тогда Вы сами себе противоречите. Вы всегда говорите в том духе, что твики и обновления хорошо устанавливать на Т-12 или даже на Т-13, чтобы они подействовали на всех будущих пользователей. Представьте себе, Вы записали диск со всеми угодными Вам твиками и интегрированными обновлениями, актуальными на момент записи, Вам кажется, что всё идеально, однако, просматривая свой файл твиков, Вы обнаруживаете в нём ошибку, или завтра появляется новое обновление, и как, как скажите, его туда интегрировать??? или скажете записывать новый диск???

Я же, описал, как можно записать один диск навсегда, а по мере необходимости редактировать только файлы на флэшке.

Gaivor

Vadikan 09-12-2007 18:55 693884

Цитата:

Цитата gaivor
Вы всегда говорите в том духе, что твики и обновления хорошо устанавливать на Т-12 или даже на Т-13, чтобы они подействовали на всех будущих пользователей »

Это не совсем верное заявление... Я действительно рекомендую устанавливать на Т-12 HKCU твики в тех случаях, когда нужно настроить все будущие учетные записи одинаковым образом. Я никогда не говорил, что обновления нужно устанавлиать на Т-12 потому, что это подействует на всех пользователей. Просто ключ /integrate подразумевает установку обновлений из svcpack.sif, и получается, что она производится на Т-12. Однако с тем же успехом обновления можно устанавливать после установки системы. Я не вижу никакой разницы в результатах, честно говоря. Возможно, кто-то меня поправит в этом вопросе, у нас в наборах обновлений полно экспертов ;)
Цитата:

Цитата gaivor
Вы обнаруживаете в нём ошибку, или завтра появляется новое обновление, и как, как скажите, его туда интегрировать??? »

Но вы же не интегрируете ничего. Вы просто устанавливаете с флэшки. Я всего лишь указал на то, что задачу можно решить проще. Если же речь идет о том, как импортировать более актуальные HKCU твики с флэшки на Т-12, то да, подобный способ имеет смысл применять. Но опять же, достаточно простого пакетного файла, который запустится из cmdlines.txt после импорта находящихся на CD твиков, проверит наличие нового файла твиков на флэшке и импортирует его.

Мне показалось, что вы как-то болезненно восприняли мои замечания в сообщении 3. Если вы выносите свои творения на суд публики, то должны быть готовы к конструктивной критике.

Real Root 09-12-2007 20:03 693908

gaivor, способ предложенный вами жизнеспособен, но.... Лучше просто пересобрать дистрибутив. Дело в том, что современные интеграторы (автоматизаторы) давным давно отказались от интеграции обновлений методом SVCPACK.INF или схожими методами. Сейчас интеграция происходтит иначе. Заменяются непосредственно файлы внутри дистрибутива. В результате чего дистрибутив не увеличивается в размере и экономится время на Т-12, Т-13. Дело в том, что если запускать обновление, пусть и втихую на этапе Т-12/Т-13, на установку каждого обновления уходит не менее 30 сек, а иногда и по несколько минут. Таким образом на установку только 10 обновлений уйдет не менее 5 минут, а с учтом того, что вы предлагаете создать вечный диск, этот объем будет расти с каждым месяцем все больше и больше. И, соответственно будет все больше и больше уходить времени на установку ОС. А для многих, каждя минута решает очень многое. Кстати, а вчем проблема, просто пересобирать образ раз в 2-3 месяца. Болванки сейчас дешевле спичек, если все аддоны готовы, то на все уйдет не более 2-х часов.

gaivor 10-12-2007 15:56 694441

Здравствуйте!

Возможно, я высказался слишком эмоционально, извините, но поверьте, мой метод не только жизнеспособен, но и удобен. Взять, к примеру, Internet Explorer 7 (IE7-WindowsXP-x86-rus.exe), у меня он естественно установлен, так вот предлагаю его одному человеку, он говорит «что, новое уродство от Microsoft, медленно работает, вкладки, пышшш…», предлагаю другому, он «как же я буду без него жить?», кстати, IE7 это как раз тот частный случай, когда обновлению не совсем всё равно когда его устанавливать. Так вот теперь, скажите, интегрировать IE7-WindowsXP-x86-rus.exe в дистрибутив, или нет? Если да, то я не смогу потом отменить установку IE7, а если нет, тогда нет смысла импортировать IE7.reg с твиками на Т-12, его придётся импортировать каждому пользователю. При установке системы моим методом, я могу под любой работающей системой поставить Rem перед ненужными мне командами в файлах на флэшке и спокойно проводить установку. Что касается времени, то провести лишний час с девушкой, перед ещё не работающим компьютером думаю, никто не откажется.

Gaivor

Real Root 10-12-2007 18:57 694585

gaivor, опять вы правы :), но все намного проще. Я гдето в нете (помоему все есть в теме по IE на руборде) скачал пак в 10 метров, в которм есть все версии Internet Explorer, начианя с 3.5 до 6.0 SP2. Так вот я интегрирую IE7, а потом уже доставляю IE6 рядом. Получается, что и волки сыты и овцы целы :)

Одно фигово - IE6 английский.
Но, в ближайшее время пересоберу его и сделаю русский.

gaivor 14-12-2007 12:59 697169

Здравствуйте всем!

Vadikan, хотя Вы, и не в восторге от изложенного мною метода установки обновлений, я очень прошу Вас, добавьте ссылку на эту тему в учебник, там, где Вы объясняете, как узнать заранее не известную букву CD-ROM-а, ну так, для общего развития.


P.S. А кому мой метод установки обновлений не нравится, попрошу не кушать.

Gaivor

Vadikan 15-12-2007 22:50 697945

Цитата:

Цитата gaivor
Vadikan, хотя Вы, и не в восторге от изложенного мною метода установки обновлений, я очень прошу Вас, добавьте ссылку на эту тему в учебник, там, где Вы объясняете, как узнать заранее не известную букву CD-ROM-а, ну так, для общего развития. »

Я не считаю ваш метод оптимальным в его нынешней реализации. Как я сказал выше, мне он кажется необоснованно усложненным, поэтому я бы воздержался от его рекомендации на данном этапе. Возможно, я ошибаюсь, недооценивая удобство метода. Мнения участников приветствуются, но я бы хотел услышать конкретное обсуждение метода, а не его сравнение с пересборкой дистрибутива на основе нового апдейтпака и аддонов.

VseDoFeNi 16-12-2007 09:04 698079

gaivor, Мультизагрузочный CD автоустановки Windows XP с неограниченным количеством конфигураций ,более гибкий и универсальный. Где именно размещать пресеты не принципиально, можно на установочном CD, можно, как у тебя на флэшке, можно на HDD. Кроме того, 1 раз CD записать не получится из-за интегрированных драйверов.

gaivor 17-12-2007 19:12 698818

Здравствуйте!

Я ICQ не пользуюсь…
VseDoFeNi, если хотите что-то сказать, говорите открыто

gaivor

VseDoFeNi 17-12-2007 20:13 698859

Говорю открыто: для личной переписки есть Отправить PM :)

SHILL 25-12-2007 18:11 703765

У меня тоже была такая идея, как у автора темы, правда касаемо не только установки обновлений, но и вообще всех необходимых программ. Ибо, например, нужные мне для работы программы занимают 1-2 CD диска, а есть и по целому DVD. Естестественно, при автоустановке системы с диска, речи об интеграции этих программ в в дистрибутив Windows быть не может.
И вот некоторые мои идеи по этому поводу:
1. Насколько я понимаю, флэшка в этом случае используется для установки обновлений на комьпютере, не принадлежащему автору темы. Однако, хотелось бы рассмотреть более общий случай.
Во-первых, если, например, я ставлю винду на свою комп, то нужные файлы для установки могут находится на моем жестком диске.
Во-вторых, пользоваться флэшкой можно только после установки драйверов на мат. плату и USB порты.
В-третьих, у меня уже был печальный опыт, когда флэшка не определялась при перезагрузке компа или если она уже была вставлена до включения компа. Приходилось вытаскивать и вставлять ее снова. А если флэшка исполльзуется при автоустановке Windows, предполагается, что все участие человека заключается в подготовке дистрибутива (например обработка в nLite, интеграция драйверов и обновлений) и запуске установки.
2. Как бы сделал я:

Во первых в корень раздела жесткого диска или флэшки положил маркерный файл по аналогии с WIN51. Для жесткого диска, допустим, DISTR, флэшки - USBFLASH

Файл RunOnceEx.cmd:

Код:

SET FLASH=%~d0

Rem Вся идея в одной нижеследующей команде…
FOR %%a 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 %%a:\USBFLASH SET FLASH=%%a:
%FLASH%\SP\T-12.cmd

Rem Она выполняет файл T-12.cmd который находится на флэшке в папке ?:\SP, при этом буква флэшки заранее
Rem неизвестна.

EXIT

Я бы еще сделал

Код:

SET SPACK=%FLASH%\SP
SET WINSTXP=%SPACK%\Windows Installer (XP)
SET WINUPD=%SPACK%\Windows Update
SET OE=%SPACK%\Outlook Express
SET NEIDIAG=%SPACK%\Network Diagnostics for Windows XP tool
SET IE7=%SPACK%\Internet Explorer 7
SET IE7SP=%IE7%\SP

EXIT

ну и, соответственно:

Код:

"%WINSTXP%\WindowsInstaller-KB893803-v2-x86.exe" /quiet /norestart /o /n
"%WINSTXP%\WindowsXP-KB927891-v3-x86-RUS.exe" /quiet /norestart /o /n
"%WINUPD%\WindowsUpdateAgent30-x86.exe" /quiet /norestart /o /n

"%OE%\WindowsXP-KB900930-x86-RUS.exe" /quiet /norestart /o /n
"%OE%\WindowsXP-KB929123-x86-RUS.exe" /quiet /norestart /o /n
"%OE%\WindowsXP-KB941202-x86-RUS.exe" /quiet /norestart /o /n

"%NETDIAG%\WindowsXP-KB914440-v12-x86-RUS.exe" /quiet /norestart /o /n

"Internet Explorer 7\IE7-WindowsXP-x86-rus.exe" /passive /nobackup /norestart
"Internet Explorer 7\SP\WindowsXP-KB904942-v2-x86-RUS.exe" /quiet /norestart /o /n
"Internet Explorer 7\SP\IE7-WindowsXP-KB937143-x86-RUS.exe" /quiet /norestart /o /n

REGEDIT /S Reg\HKCU.reg
REGEDIT /S Reg\HKLM.reg
REGEDIT /S Reg\Advanced.reg
REGEDIT /S Reg\IE7.reg

EXIT

3. Не совсем понял, зачем копировать файлы T*.cmd в %windir%\system32. их, по-моему, можно можно запустить и из папки %FLASH%\SP\


Время: 01:46.

Время: 01:46.
© OSzone.net 2001-