![]() |
Обновляем Windows. Два подхода к одному вопросу.
Любая ОС во время своей эксплуатации требует обслуживания, в частности периодически возникает необходимость установки патчей, ничего страшного в этом нет. Это, как ремонт в квартире или техобслуживание автомобиля. Теперь давайте рассмотрим вопрос установки обновлений более подробно.
Предположим, что нам приходится периодически устанавливать Windows с CD. Ставим мы ее на разные машины, в разное время. Соответственно Windows на всех компьютерах содержит разные комплекты обновлений. А дистрибутив с Unattended у нас всегда свежий на текущий момент времени. Дальше можно прочитать тут, статья достаточно большая. Кому лень читать, можко сразу скачать SvCompiler: 1 По файлам обновлений создаст файл Svcpack.inf, служащий для установки обновлений во время установки Windows 2 Скопирует файлы обновлений в папку Update с короткими именами для установки из Svcpack.inf В комплекте HotFixes Installer,предназначенный для установки недостающих обновлений на ранее установленную Windows (устанавливает обновления прописанные в Svcpack.inf): 1. Проверит, установлен ли Windows XP 2. Проверит, установлен ли SP2 3. По файлу Svcpack.inf определит в каком каталоге на CD лежат апдейты 4. Составит список установленных в системе апдейтов 5. Сравнит обновления прописанные в Svcpack.inf со списком установленных ранее и установит недостающие. SvCompiler ( 23,7 kb ) и Patcher, работающий самостоятельно: 1. Проверит, установлен ли Windows XP 2. Проверит, установлен ли SP2 3. Составит список установленных в системе апдейтов 4. По списку апдейтов, находящихся в папке Current, установит недостающие. Patcher ( 3,85 kb ) |
Ну что я могу сказать, серьезные батники ты научился писать :up: :up:
На следующей установке попробую как это все пройдет. Только все эти файлы теперь тебе нужно поддерживать постоянно, т.к. с выходом новых хотфиксов ситуация может измениться. |
Нужная штука :up:
|
Vadikan
Цитата:
Цитата:
D@nil дык пользуйтесь ;) |
Я тоже присоединяюсь к овациям!
Отличная задумка, очень удобная. Я вчера проверил все хотфиксы встали и работают. |
Я бы тоже присоединился к овациям с огромным удовольствием!
Штука действительно Очень нужная! Но.... не работает она у меня!!! может я чего не понимаю... несколько раз перечитал инструкцию по созданию диска с хотфиксами и несколько раз создавал диск в различных вариантах... эффект один - не работает! но по порядку. 1.выкачал SvCompiler и Patcher. 2. распаковал SvCompiler в отдельную дир. со всей инфраструктурой, туда же распаковал Patcher.cmd, положил в дир. Current хотфиксы с Микрософта, в дир. Removed - отмененные хотфиксы. 3. запустил SvCompilerU.cmd и получил SvcPack.inf и дир. Update "под ногами " 4. Скопировал с готового дистра дир. I386 в нее положил Svcpack.inf, в ней создал дир. Update и положил в нее Qchain.exe 5. создал диск со труктурой для SvCompiler от корня. 6. подготовил машину - "чистый" XP eng с накаченным на него SP2. 7. запускаю с CD HFI.cmd... выскакивают три подряд одинаковых сообщения : Ошибка: Системе не удалось найти указанный раздел или параметр реестра после этого сообщается что сейчас будут установлены хотфиксы... потом Qchain.e установлен потом быстро Не удается найти C:\temp\up.txt ( я и temp создавал и up.txt туда закладывал - та же песня) ну и предлагается реботнуться.... 8. пробую с Patcher-ом... те же сообщения о не удается найти ..... потом сообщает что сейчас хотфиксы установятся и затем Синтаксическая ошибка в имени файла или дирректории... Вот такая песня... Помогите пожалуйста, объясните в чем я не прав. прочитал сообщение fanatf1 перепроверил все еще несколько раз - у меня не работает! |
AlexVP
Такая последовательность 1. Качаем SvCompiler и Patcher. 2. Распаковываем SvCompiler в отдельную дир. со всей инфраструктурой, туда же распаковал Patcher.cmd, положил в дир. Current хотфиксы с Микрософта, в дир. Removed - отмененные хотфиксы. 3. запустил SvCompilerU.cmd и получил SvcPack.inf и дир. Update "под ногами " До этого всё правильно. Кстати, в SvCompilerU.cmd можно сразу изменить путь к дистрибутиву, там помечено где менять. 4. Теперь удаляем из i386 дистрибутива Svcpack.in_ и копируем туда полученные SvcPack.inf и дир. Update. 5. Копируем HFI.cmd в корень CD. 6. Пишем дистрибутив на болванку. Всё должно работать. SvCompiler и Patcher работают отдельно, а не вместе. |
VseDoFeNi
К моему огромному сожалению не работает! :( Сделал все по приведеннной схеме, тот же эффект - выдает 3 сообщения про раздел или параметр реестра а затем все то же, что я уже описывал! SvCompiler и Patcher работают отдельно, а не вместе. а что значит отдельно? И как их можно запустить вместе? На сколько я понял компилер создает структуру которую использует HFI. А патчеру нужна только папка Current (такая же, какая у компилера). так что могут они, наверное, находится на одном диске? Патчер у меня также отказался работать, так же как я уже описывал ранее.... готов привести скриншоты работы батников, структуру созданного диска, веток регистра.... Могу на ЛС (чтобы не засорять тему) |
AlexVP
Цитата:
SvCompiler нужен для автоматизации работы описанной тут. Собственно они у меня так и ставятся вместе с виндой. HFI действительно использует эти апдейты. Что касается ошибк по разделам реестра, Imho на этой машине Windows XP совсем без апдейтов. В реестре значения создаются при установке патчей. |
Поправлена пара косяков в SvCompiler.cmd и SvCompilerU.cmd. У кого будут траблы возьмите исправленный по той же ссылке.
SvCompiler ( 23,7 kb ) |
VseDoFeNi
Так, у меня дошли руки потестить LOL На сайте в комментах слэши режет, бесполезно постить, следовательно тут обсудим :) Код:
:: Set Path to I386 distributive Windows XP SP2 Код:
Set SvcDir=E:\DistroSP2 Ну это ладно, можно оставить как есть, но тогда с svcpack.in_ путаница. Даже если я укажу Set SvcDir=E:\DistroSP2\i386, чтобы у меня папка Update была внутри i386, то батник ищет svcpack.in_ в E:\DistroSP2\i386\Update! Там файла нет и следовательно он не удаляется. Надо так Код:
if exist %SvcDir%\Svcpack.in_ del /q %SvcDir%\Svcpack.in_ Код:
:: Set Path to I386 of your Windows XP SP2 installation files (include i386 in the path) |
Vadikan
:beer: ага, я его тестил в отдельной папке, да так и забыл поправить :) Обновил SvCompiler (23.7 kb) |
VseDoFeNi
Протестил, все работает, все апдейты установились как надо. Я еще patcher.cmd протестю на некритических днях.. т.е. апдейтах, т.к. я их не ставил :) |
1. У Vadikan в статье http://oszone.net/display.php?id=2755 упоминается необходимость поправить файл DOSNET.inf, а эти скрипты этого вроде не делают. Так нужно его трогать или нет?
2. Правильно ли я понял, что папка Removed, в которую предалагется складывать отмененные обновления в обработке не участвует. И если я предпочитаю отмененные MS-ом обновления не хранить, а просто удалять за ненадобностью, то могу это спокойно делать, а саму Removed грохнуть? |
v12345
1. Я ни разу не правил DOSNET.inf и всё прекрасно работает. 2. Правильно. Папка Removed не участвует в обработке.... пока не учавствует. |
Поэкспериментировал с SvCompiler, вроде работает без видимых проблем, но по ходу решил отказаться от самой идеи засорять дистрибутив обновлениями. Поэтому решил глянуть на Patcher.cmd. Есть несколько вопросов:
1. В документации к Patcher.cmd сказано, что его "можно запускать на 13 минуте до конца установки Windows из cmdlines.txt". У меня оттуда не заработал, хотя заработал без проблем, будучи вызванным без единого изменения из GuiRunOnce. Это только у меня так? Какие могут быть причины? 2. Казалось бы SvCompiler.cmd и Patcher.cmd - это вроде как братья - основная идея обоих установить в определенный момент подряд несколько обновлений, не разделяя их перезагрузками. Но почему тогда в SvCompiler.cmd заложена добавка в конце установки QCHAIN.EXE, а в Patcher.cmd QCHAIN.EXE нет? Или можно тот же вопрос более обобщенно задать: когда надо запустить QCHAIN.EXE после установки нескольких обновлений подряд, а когда - нет? 3. Что и в каких случаях должно сохраняться в up.txt? |
Цитата:
1 Касаемо 13 минуты imho лучше все-же svcompiler юзать для этого. 2 QCHAIN.EXE это моя недоработка или переработка :) он был актуален до sp2 3 В up.txt пишутся патчи, установленные в системе, если они прописаны в реестре. |
А чего-то похожего для Win2k нету? Или может можео что-то в батнике поменять чтобы для 2к работало?
|
Цитата:
Код:
FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion`) do set CV=%%i Код:
FOR /F "usebackq eol=! tokens=2*" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Updates\Windows XP\SP3"`) do for /F "tokens=3* delims=\" %%l IN ("%%i") do echo %%l>>%Temp%\up.txt |
VseDoFeNi
Простите, может такой вопрос уже звучал, но всё же. А после интеграции командой интегрейт, можно из папки svcpack удалять экешники, ведь они походу распаковались в i386, а то полученное просто не влазит на диск? И вообще, что можно удалить, после интеграции? |
morismoss
Цитата:
|
Цитата:
|
morismoss, zuckij не использую интеграцию хотфиксов в принципе.
|
VseDoFeNi
Цитата:
|
zuckij, скоро сюрпризик будет ;)
|
VseDoFeNi , а какой если ни секрет скоро сюрпризик будет
|
zuckij, может к понедельнику :)
|
Господа, может я чего не понимаю и может вы меня не так поняли, но опишу подробнее:
UpdatePack-XPSP2-Rus версия 7.2.15 пользоваться не хочу, так как меня не совсем устраивает начинка данного пака, поэтому хотелось всё сделать стандартными методами командной /integrate, ведь в майкрософте так обновляли дистрибутивы винды или после выпуска sp2 диски перестали штамповать? Но всё же. При выполнении команды /integrate просиходит копирование файлов в нашу папку i386 , значит новые и обновлённые файлы уже закидываются в установочный дистр, правильно? Но потом обновления ещё копируются в формате 8.3 в svcpack и на T13 происходит распаковывание и обновление винды. Вот и вопрос, для чего тогда копируются новые и обновлённые файлы в i386, если всё равно потом происходит обновление из папки svcpack? Вопрос именно в этом, почему? Получается, что в i386 накидывается файлов размером 125 метров виде уже распакованных файлов и в папку svcpack 85 метров в виде тех же апдейтов. Кто же ответит, почему так происходит? |
Время: 16:16. |
Время: 16:16.
© OSzone.net 2001-