Неприятная вещь вирусы и трояны. Каждый раз выходя в Сеть думаешь о том, чтобы не подхватить какую-нибудь заразу. Да и Билл Гейтс со своей командой программистов выпускает сырые продукты со множеством дыр, создавая тем самым благоприятную среду для распространения вирусов. К сожалению без продуктов Билла (читай ОС Windows) обойтись трудно и те, кто вынуждены пользоваться ими также вынуждены регулярно заглядывать на сайт Microsoft Windows Update, чтобы устанавливать обновления для вновь обнаруженных в OC дыр.
Как то раз, устанавливая очередной пачт для своей Windows XP Home, я подумал о том, как сделать, чтобы установив один раз обновления, мне не пришлось бы вновь выходить в Сеть и переустанавливать их, если вдруг система рухнет под натиском вирусов или чего-то еще. На официальных сайтах Microsoft я не нашел патчей в виде отдельных файлов-архивов, которые можно было бы скачать и затем хранить, например, на компакт-диске. Поискав в просторах Интернета, я нашел несколько бесплатных ресурсов с подобными предложениями, но помня принцип «Бесплатный сыр бывает только в мышеловке», решил не рисковать безопасностью своего компьютера. Тогда пришлось заняться небольшим исследованием и выход был найден! Теперь и вы узнаете о нём.
Оказывается, что при установке обновлений с официального сайта Microsoft, они закачиваются в системную папку Windows (чаще всего это – C:\WINDOWS), в каталог SoftwareDistribution. Там есть папка Download. В ней-то в отдельных подпапках и хранятся обновления после их закачки. Но хранятся в неудобной форме: в виде группы файлов и папок. Как сделать, чтобы они хранились в другом месте, например, на компакт-диске, и в виде «одно обновление – один файл»? Так, чтобы их можно было в случае необходимости установить, не выходя в Интернет? Вот здесь-то на помощь и приходят подручные средства, одним из которых является Shareware – версия архиватора WinRar (сайт разработчика - http://www.rarlab.com). Перед тем, как заняться экспериментами, я установил через Интернет обновления Windows XP.
Итак, запускаем WinRar и приступаем к работе! Последовательность действий примерно такая:
В WinRar открываем папку с обновлениями (в моем случае - это c:\ WINDOWS\ SoftwareDistribution\ Download\ 01441d45688f3ec43530f7f446ea5a8f) и выделяем в ней все файлы и папки.
Нажимаем в WinRar значок «добавить». Появится окно «Имя и параметры архива». В нем задаем месторасположение и имя обновления. В рамке «Параметры архивации» устанавливаем «Создать SFX-архив». Выбираем метод сжатия «максимальный».
Выбираем вкладку «Дополнительно» и в ней нажимаем кнопку «Параметры SFX…». Во вкладке «Общие» в строке «Выполнить после распаковки:» набираем строку update\update.exe.
Переходим во вкладку «Режимы». В рамке «Временный режим» устанавливаем «Распаковать во временную папку». В рамке «Режим вывода информации» задаем «Скрыть все». В рамке «Режим перезаписи» задаем «Перезаписывать все файлы без запроса». Нажимаем Ok и процесс пошел...
После окончания архивации можем зайти в ту папку, куда записывали обновления и для проверки запустить одно из них. Должно появиться стандартное окно установки обновлений.
Вот и все! Теперь можно записать обновления на CD и дописывать новые.
Имея готовые обновления, можно не беспокоиться о том, что в случае переустановки системы придется снова заходить на сайт Microsoft и качать их оттуда. Кроме того, можно поделиться обновлениями с теми из своих друзей, кто их еще не устанавливал.
Но это еще не всё. Оказывается, можно сделать так, чтобы все полученные таким образом обновления устанавливались в пакетном режиме, т.е. одним кликом мыши и без лишних запросов, например, на согласие с лицензионным соглашением.
Теперь поговорим о том, как сделать, чтобы обновления можно было устанавливать в пакетном режиме, т.е. запустив один специальный файл вместо того, чтобы запускать каждое обновление отдельно и отвечать на ряд вопросов программы-установщика обновлений.
Не вдаваясь глубоко в теорию, я отмечу, что Windows поддерживает запуск файлов с перечнем системных команд. Такие файлы называются командными сценариями и имеют расширение ".cmd". Для запуска установки обновлений в пакетном режиме мы создадим такой файл и укажем системе какие обновления и как надо запускать. Этот файл будет запускаться в консольном режиме. Итак приступаем.
Запускаем Windows-блокнот (или другой редактор текста) и последовательно вводим следующие команды:
@echo off
Эта команда отключает автоматический вывод самой себя на экран консоли, а также названий всех последующих команд.
. echo Установка обновлений Windows XP echo =============================== echo .
С помощью этих команд мы создаем информационное приглашение. Команда echo вывод на консоль сообщение. Когда ставится точка после команды, то просто происходит переход на новую строку.
pause
Эта команда ожидает от пользователя нажатия любой клавиши на клавиатуре.
Далее следует блок команд, который будет повторяться для каждого обновления:
echo . echo Установка обновления 873339 ... upd873339.exe -q -norestart
Первую команду мы уже знаем. Вторая команда подсказывает, какое обновление устанавливается. А третья команда - это собственно запуск установки самого обновления. С помощью ключей "-q" и "-norestart" можно облегчить нашу участь. Первый ключ задает так называемый "тихий режим", т.е. запуск без взаимодействия с пользователем. Он отключает необходимость отвечать на вопросы установщика обновлений и нажимать кнопку "Далее". Второй ключ отключает автоматическую перезагрузку компьютера после установки обновления. Нужно учесть еще один момент: некоторые обновления устанавливаются поверх ранее установленных. Поэтому обновления в командном файле должны следовать в порядке их выпуска Microsoft, т.е. в зависимости от даты выхода. Например, когда я делал командный файл для себя, то обновления 896424, 900725 и 902400 поместил в конце командного файла.
После того, как прописан запуск всех обновлений, добавляем команды:
echo . echo Установка обновлений Windows XP завершена echo Не забудьте сделать перезагрузку системы! echo . echo . pause exit
Команды echo и pause мы уже рассмотрели. А команда exit указывает системе, что необходимо завершить обработку командного сценария.
Созданный таким образом командный сценарий выглядит примерно так:
@echo off<br> echo. echo Установка обновлений Windows XP echo ================================== echo. pause echo. echo Установка обновления 873339 ... upd873339.exe -q -norestart echo. echo Установка обновления 885836 ... upd885836.exe -q -norestart echo.
.................................................
echo Установка обновления 902400 ... upd902400.exe -q -norestart echo. echo. echo Установка обновлений Windows XP завершена! echo Не забудьте сделать перезагрузку системы. echo. echo. PAUSE exit
Вот и все! Не забудем сохранить созданный командный сценарий в той папке, где хранятся обновления. Иначе нам придется прописывать в командном сценарии путь к каждому обновлению.