Желание Microsoft сделать свои программные продукты универсальными приводит к тому, что инсталляционные пакеты содержат порой изрядный процент ненужных для конечного пользователя возможностей, а также большое количество файлов для поддержки многообразного HardWare. Описание одного из способов, который поможет сформировать небольшой пользовательский дистрибутив операционной системы семейства Windows 2000, приводится в данной статье. Это решение позволит сэкономить возможности аппаратных ресурсов вашего компьютера, а значит, повысить эффективность решения действительно важных пользовательских задач, обеспечить повышенный уровень безопасности.
Утилита nLite предназначена для формирования пользовательских дистрибутивов операционных систем Microsoft Windows версий 2000, XP, 2003 и решает следующие задачи:
- Оптимизация временных затрат при установке операционной системы на пользовательских компьютерах за счет:
- уменьшения размера дистрибутива и количества устанавливаемых компонентов;
- определения значений стандартных настроек, которые запрашиваются в процессе установки.
- Снижение загрузки оперативной памяти компьютеров путем исключения из инсталляционного пакета компонентов и возможностей, которые не будут востребованы пользователем в процессе работы.
- Повышение уровня безопасности устанавливаемой системы при помощи интеграции в инсталляцию последнего Service Pack, а также исключение из дистрибутива и, таким образом, уменьшения количества приложений Microsoft, которые могут потенциально содержать критические ошибки (например, Outlook Express, игры) и не понадобятся для работы конечному пользователю.
Дополнительно программа предоставляет возможность избавиться от установки на пользовательские компьютеры Internet Explorer (с определенными оговорками, так как разработчики Windows настолько интегрировали IE в операционную систему и ее часть – Проводник, что полное избавление от всех следов IE, к сожалению, невозможно).
При подготовке статьи была использована программа nLite версии 0.98 beta 2 (утилита является некоммерческим продуктом и может быть скачана по адресу: http://www.taekwondo-knin.hr/files/nlite-0.98.7b2i.exe, сайт производителя – http://nuhi.msfn.org). Дополнительно для работы небходимо, чтобы в системе было установлено приложение Microsoft .Net Framework (http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe).
Инсталляция nLite имеет общепринятые интуитивно очевидные подходы, поэтому выполнить установку не составит труда даже новичку, и описание процедуры в данной статье не приводится.
Для самостоятельных проб рекомендуется учесть то, что в процессе создания дистрибутива с использованием утилиты данные инсталляции будут безвозвратно модифицированы, и вы можете потерять эталонную версию установочного пакета операционной системы.
Так как одной из задач, которые решались с использованием nLite, было создание оптимальной инсталляционной версии операционной системы W2K, сохраняющей свои основные характеристики, имеющей минимальные размеры дистрибутива и ограниченные требования к аппаратным ресурсам компьютера, на котором должна производиться установка, то для тестирования была выбрана Microsoft Windows 2000 Professional сборки 5.00.2195 с интегрированным Service Pack 4. При этом объем занимаемого на диске места после установки с применением минимально возможной пользовательской инсталляции составил – 257 Мб (в стандартной установке – около 600 Мб, в расчет не брался размер файла подкачки – pagefile.sys), объем выделенной оперативной памяти – 32 Мб (в стандартной установке – 46 Мб). Сам дистрибутив занимает 178 Мб (в стандартной установке – 330 Мб).
Начало работы с программой
Работу с программой nLite разработчики организовали в виде последовательного набора экранов, в которых пользователю предлагается произвести необходимый выбор режимов работы, определить размещения данных и т.п.
При запуске утилиты на экран выводится ознакомительное окно, в котором приводится перечень основных функций программы и поддерживаемых операционных систем Microsoft Windows. В следующем экране (Prepare installation) необходимо выбрать каталог, содержащий установочный пакет Windows, который будет модифицироваться для получения в выбранном месте итоговой версии инсталляции (нельзя выбрать каталог, размещенный на CD-ROM).
При этом автоматически детектируется наличие в выбранном каталоге подкаталога с названием «I386». Пользователю дополнительно предоставляется информация о том, установка какой операционной системы выбрана, номер внедренного Service Pack (SP) и размер инсталляционного пакета.
В случае если у пользователя имеется версия более свежего SP, то следующий экран (Slipstream Service Pack) позволяет выполнить интеграцию в инсталляцию необходимого пакета обновления. Для этого следует после нажатия кнопки «Browse» выбрать файл, содержащий установку требуемого SP. После завершения процедуры в каталоге с инсталляцией, выбранном на втором шаге работы с программой, будет размещаться установочный пакет с интегрированным SP.
Кнопка «Make ISO» позволяет сформировать образ загрузочного диска без удаления каких-либо компонентов из инсталляционного пакета.
Об интеграции Service Pack в инсталляционный пакет
Отметим, что при желании обладатель инсталляции W2K и последнего Service Pack может сформировать версию дистрибутива с интегрированным SP и без использования nLite (что бывает весьма выгодно администраторам, для которых уменьшение времени, потраченного на переустановку системы, – весьма актуальная задача). Для этого достаточно выполнить три последовательных шага:
- Скопировать на жесткий диск каталог «I386» из исходного инсталляционного пакета Windows;
- Распаковать обновление в подходящий каталог, используя команду в указанном ниже формате:
W2KSP4_rus.exe /u /x:название_временного_каталога
- Из подкаталога Update обновления выполнить программу:
update.exe /s:имя_каталога_дистрибутива
Перечень возможных ключей для выполнения обновления приведен на рисунке.
Опытные специалисты, которые умеют работать с ISO-образами дисков, обладающие знанием и практическими навыками, могут сформировать загрузочный диск на основе исходного инсталляционного диска W2K с использованием таких широко распространенных программных продуктов как Nero, UltraISO, CDRWin и т. п. Вообще говоря, тема создания указанного типа дисков достаточно обширна и может быть рассмотрена в рамках отдельной статьи.
К сожалению, разработчики Windows не утруждали себя внедрением подобных механизмов в обновления, которые достаточно часто публикуются Microsoft и еще не включены в отдельный Service Pack, их выполнение предусматривается только после того, как операционная система будет установлена на компьютер.
Для полноты изложения вопроса создания загрузочного диска Windows 2000 Professional в рамках основной темы статьи отметим, что в корне установочного пакета должны присутствовать следующие файлы:
- BOOTFONT.BIN (локализация русской версии);
- cdromsp4.tst (указывает на то, что используется версия с Service Pack 4);
- cdrom_ip.5 (указывает на то, что используется версия Windows 2000 Professional);
- cdrom_nt.5 (для всех версий W2K).
Причем само содержимое всех файлов, кроме первого, не имеет никакого значения. Файл BOOTFONT.BIN может быть найден в каталоге «I386» установки операционной системы.
Выбор компонентов инсталляционного пакета
После определения каталога дистрибутива и, возможно, интеграции в него последней версии SP, программа nLite предоставляет возможность просмотреть компоненты, которые присутствуют в пакете инсталляции и выбрать те, от которых следует отказаться.
Основную часть окна (Components Removal) занимает перечень разделов с компонентами дистрибутива. Приведем полный список разделов с указанием некоторых включающихся в состав компонентов:
- Application (Игры, WordPad, Калькулятор, ...);
- Drivers (Display Adapter, Ethernet (LAN), Modems, Printers, Sound Controllers, ...);
- Internet Utilities (Communication tools, Internet Explorer, Java Virtual Machine, Outlook Express, Network Monitor, Netmeeting, ...);
- Language Support (Cyrillic, Multilanguage Support (LANG dir), ...);
- Multimedia (Pant, Windows Media Player, Mouse Cursors, Windows Sounds, ...);
- Operating System Options (DR Watson, Disk Cleanup, Help, Task Scheduler, Web View, ...);
- Service (Fax Service, Telnet Service, Autoupdate, Messen ger, ...);
- Directories (в раздел вносится перечень каталогов, которые содержатся в каталоге дистрибутива, за исключением I386).
Работа с элементами окна организована авторами программы таким образом, что при попадании курсора мыши на имя конкретного компонента справа отображается краткое пояснение о назначении и рекомендации разработчиков nLite о том, следует ли оставить выбранный компонент в составе формируемого дистрибутива.
В нижней части окна расположено всплывающее меню, которое позволяет выбрать и зафиксировать набор удаляемых компонентов и операций, выполняемых над списком элементов, входящих в состав инсталляционного пакета операционной системы. Названия и некоторые пояснения автора статьи помогут получить общие представления о группах исключаемых из дистрибутива компонентов:
- Custom (Пользовательский);
- Last Session (Последняя сессия – данные о последних выбранных пользователем для удаления компонентах запоминаются в каталоге установки nLite в разделе Components файла settings.ini при успешном формировании дистрибутива);
- Safe (Безопасный);
- Lite (Маленький);
- Select All (Выбрать все);
- Clear (Очистить).
Фиксация отметки Experimental позволяет расширить список, из которого выбираются удаляемые компоненты, одноименным разделом (включает компоненты – Application compatibility path, Com+, Extra Fonts, Managеment Instrumen- tation, MDAC, Modem Support, Windows Picture and Fax Viewer).
Заметим, что в программе имеются проблемы с организацией сохранения настроек параметров раздела Experimental. В связи с чем компоненты данного раздела необходимо при очередном сеансе работы с nLite повторно корректировать.
Из раздела компонентов драйверов (Drivers) предлагается выбирать только те устройства, которые вам явно не понадобятся при использовании создаваемого пакета дистрибутива. В разделе поддержки языков (Language Support) рекомендуем оставить только поддержку русского языка и многоязычности, а в разделе Operation System Options – Printer Support.
В следующем окне пользователю предоставляется возможность добавить файлы, содержащиеся в инсталляции, для удаления либо исключить из категорий удаляемых.
Здесь можно добавить в перечень удаляемых файлов такие категории редко используемых неспециалистами файлов как:
- утилиты работы с командной строкой – append.exe, attrib.exe, xcopy.exe, fc.exe, find.exe, findstr.exe, edlin.exe и т. п.;
- средства диагностики и отладки:
- dxdiag.exe – средство диагностики DirectX;
- perfmon.exe – средство оценки производительности;
- wbemtest.exe – тестер инструментария управления Windows;
- winver.exe – вывод информации об установленной версии Windows;
- ipsecmon.exe – монитор IP-безопасности;
- discover.exe – программа, предназначенная для знакомства с Windows;
- файлы данных;
- %WinDir%security emplates*.inf – шаблоны конфигурации безопасности для Security Configuration Editor;
- %WinDir%*.bmp – образцы рисунков для рабочего стола.
К слову сказать, после установки операционной системы с применением минимального возможного варианта пользовательского дистрибутива в системном каталоге и System32 размещалось свыше 300 исполняемых файлов, не говоря уже о dll-файлах. Вряд ли большинство из них будут востребованы пользователем и системой для работы.
Информация о выбранных пользователем для удаления компонентах, исключаемых и оставляемых в инсталляции файлах, параметрах формирования ISO-образа пользовательской установки сохраняется в settings.ini, размещающемся в каталоге установки nLite.
Настройки параметров инсталляции
Следующее окно настроек (Unattended setup) позволяет вам заранее определить значения по умолчанию для некоторых параметров инсталляции.
Первая закладка (Info) предоставляет пояснения и возможность использовать или отказаться от представленного расширенного перечня настроек.
Внося информацию в параметры второй закладки (General) можно определить данные, которые предлагаются для выбора в процессе установки, такие как:
- регистрационный номер для инсталляции;
- название каталога для установки;
- выбор процесса сопровождения процесса установки (UnAttended Mode);
- возможность определения автоматической регистрации администратора при входе в Windows.
Выбор UnAttended Mode может быть сделан из пяти предопределенных режимов. Поясню некоторые из них:
n DefaultHide – предоставляет возможность при установке провести операции с разделами, задать диск, на который будет производиться установка, а также определить параметры в окне «Язык и стандарты» (рекомендуется автором статьи для проведения максимально быстрого процесса инсталляции);
- GuiAttended – не использует никаких предварительных настроек;
- ProvideDefault – обычный вариант установки с предустановленными значениями.
С помощью последней закладки (Personal) определяются:
- временная зона (часовой пояс);
- значение пароля администратора;
- язык;
- имя компьютера;
- полное имя;
- название организации;
- имя рабочей группы для настройки работы в сети.
Заметим, что вся информация с настройками параметров инсталляции сохраняется в файле unattended.ini, размещающемся в каталоге установки программы nLite.
Завершающий этап
Последнее окно определения параметров дистрибутива (Set up options) в закладках Options и Tweaks позволяет дополнительно задать некоторые завершающие настройки:
- отключить возможность использования системы защиты системных файлов (SFC) при работе операционной системы, которая предполагает резервное хранение кэша защищаемых файлов и автоматическое сканирование целостности системных файлов при перезапуске системы;
- удалить раскладки клавиатуры для исключенных из инсталляции поддержки иностранных языков, которые не будут использованы при работе;
- определить максимальное сжатие драйверов при формировании инсталляции;
- исключить возможность загрузки с формируемого образа;
- определить минимально разрешенный размер оперативной памяти, при котором процедура инсталляции будет разрешена.
Нажатие кнопки в окне (Set up options) позволяет начать процесс формирования пользовательского инсталляционного пакета и внесения изменений в исходный каталог с файлами дистрибутива. Последовательность и ход процесса можно наблюдать в очередном окне (Processing). При завершении формирования инсталляции с заданными параметрами внизу окна программы в статусной строке выводится информация о размере сформированного дистрибутива, данные о том, насколько он был уменьшен по сравнению с исходным.
Предпоследнее окно nLite (Make bootable image) предоставляет возможность дополнительно сформировать ISO-образ дистрибутива для тестирования или записи на CD-ROM. Перед этим можно произвести необходимые операции с итоговым дистрибутивом, которые не были предусмотрены в ходе работы с программой nLite (добавить файлы, скорректировать содержимое), а также внести правки для устранения неточностей, выявленных в процессе работы с программой.
Ложка дегтя в бочке меда
Несмотря на то что программа nLite оставляет приятное впечатление при использовании, имеется ряд моментов, которые подтверждают тот факт, что идеальных программных решений не бывает. Ниже приведены некоторые изъяны программы, которые были обнаружены в процессе работы над статьей.
В связи с тем, что при формировании пользовательского дистрибутива ссылки на удаляемые файлы исключаются, порой не во всех конфигурационных файлах вам, возможно, придется повторно отказаться от установки файлов, не обнаруженных в процессе выполнения инсталляции.
После установки системы некоторые ссылки на программы или возможности могут остаться в пунктах меню «Пуск» – «Программы», «Панель управления», однако запуск не будет возможен ввиду отсутствия самих объектов, на которые предполагалось сделать отсылки.
В состав прочих команд пакетного файла nLite.cmd, запускающегося при первой загрузке Windows, входит утилита Registry Console Tool For Windows 2000 (Reg.exe), которая присутствует, например, в Microsoft Windows 2000 Support Tools (входит в состав Windows 2000 Server) и Windows XP, однако отсутствует в стандартной поставке Windows 2000 Professional.
Применение nLite не позволяет полностью удалить Internet Explorer (для эксперимента можно попробовать выполнить в урезанном варианте «Пуск» – «Найти» – «В Интернете…»).
Некоторые тонкости использования nLite
Как уже указывалось, авторы программы предусмотрели, что при использовании дистрибутива, изготовленного с использованием утилиты, после завершения инсталляции выполняется запуск командного файла nLite.cmd (необходимая информация для этого вносится в файл HIVEDEF.INF). Формирование командного файла напрямую зависит от настроек заданных пользователем в процессе определения параметров установки в nLite. В связи с этим разработчики внедрили информацию, на основе которой корректируется содержание файла nLite.cmd в код самой программы. Информация дописывается в cmd-файл в процессе формирования дистрибутива.
Ниже для примера приводится минимальный вариант содержимого файла nLite.cmd.
@ECHO OFF
TITLE nLite post cleanup - Please Wait...
reg delete HKEY_USERS.DEFAULTSoftwareMicrosoftWindowsCurrentVersionRunOnce /v nlite /f
del /f /q %SystemRoot%inf lite.cmd
С использованием коррекции содержимого командного файла nLite.cmd можно решить некоторые дополнительные вопросы оптимизации процесса инсталляции Windows.
Следующие строки, включенные в nLite.cmd, позволяют скорректировать используемые по умолчанию параметры раскладки клавиатуры при регистрации в системе и при работе в Windows (Английская (США) – основная, Русская – дополнительная, переключение Ctrl+Shift).
rem Коррекция языка по умолчанию и переключения клавиатуры
reg add "HKEY_CURRENT_USERKeyboard LayoutPreload" /v "1" /t REG_SZ /d "00000409" /f
reg add "HKEY_CURRENT_USERKeyboard LayoutPreload" /v "2" /t REG_SZ /d "00000419" /f
reg add "HKEY_CURRENT_USERKeyboard LayoutToggle" /v "Hotkey" /t REG_SZ /d "2" /f
reg add "HKEY_USERS.DEFAULTKeyboard LayoutPreload" /v "1" /t REG_SZ /d "00000409" /f
reg add "HKEY_USERS.DEFAULTKeyboard LayoutPreload" /v "2" /t REG_SZ /d "00000419" /f
reg add "HKEY_USERS.DEFAULTKeyboard LayoutToggle" /v "Hotkey" /t REG_SZ /d "2" /f
Для того чтобы воспользоваться заложенной в nLite.cmd возможностью применения утилиты Registry Console Tool For Windows 2000 (Reg.exe), для Windows 2000 Professional необходимо:
- найти и дополнить выбранный каталог «I386» для поль-зовательской инсталляции файлом Reg.exe;
- внести в файл TXTSETUP.SIF в раздел [SourceDisksFiles] строку следующего содержания:
reg.exe = 2,,,,,,_x,Ш,0,0
где Ш – номер каталога, назначение которого приведено в размещенном выше разделе [WinntDirectories] (например, цифра 2 означает размещение файла в каталоге %WinDir%system32).
Используя в своих интересах нюансы механизмов работы инсталляции Microsoft Windows, можно, варьируя содержимое файлов, изменять значение переменных среды пользователя (например, TEMP и TMP), определять запуск при первом входе в Windows дополнительных программ, назначенных при подготовке дистрибутива, и т. п.
Ниже приводятся отдельные фрагменты содержимого файла HIVEDEF.INF после формирования пользовательского дистрибутива с использованием nLite, которые могут быть взяты в качестве образца для решения указанных выше задач:
…
[AddReg]
HKCU,"SOFTWAREMicrosoftWindowsCurrentVersionRunOnce", "nLite",0x00020000,"%%systemroot%%inf lite.cmd"
…
HKCU,"Environment","TEMP",0x00020000,"%TEMP_DIR%"
HKCU,"Environment","TMP",0x00020000,"%TEMP_DIR%"
…
[Strings]
TEMP_DIR="%USERPROFILE%Local SettingsTemp"
…
Значения параметров, указываемых пользователем в процессе инсталляции, которые определяются во время работы с программой nLite, сохраняются в файле WinNT.sif. Использование sif-файла заложено Microsoft в механизм проведения стандартной установки операционной системы Windows для получения параметров проведения инсталляции (дополнительную информацию можно получить из содержимого файла UnAttend.txt, размещаемого в каталоге «I386»). В связи с этим грамотное использование содержимого файла WinNT.sif может позволить определить при установке максимально быстрый (UnattendMode = DefaultHide) режим инсталляции, предполагающий до 3 (в стандартном режиме – свыше 10) диалоговых экранов, требующих вмешательства оператора для продолжения процесса (эта особенность может быть использована в стандартных дистрибутивах Microsoft Windows 2000 и XP).
Продолжение следует?
В статье был рассмотрен один из вариантов, позволяющий формировать на компьютере пользователя операционную систему Windows 2000, занимающую минимальные размеры как на жестком диске, так и при запуске – в оперативной памяти. Следует отметить, что для решения поставленной задачи могут быть использованы различные подходы, так, если в программе nLite используется вариант подготовки пользовательской инсталляции минимального варианта, то утилита 2000Lite Professional (коммерческий продукт LitePC Technologies Pty Ltd, сайт компании – http://www.litepc.com) позволяет удалить лишние компоненты из уже установленной системы. C использованием 2000Lite Professional можно уменьшить размер занимаемого дискового пространства до 200 Мб (nLite – 257 Мб), размер используемой оперативной памяти может быть уменьшен до 42 Мб (nLite – 32 Мб).
Возможность создания оптимизированной инсталляции существует и для других программных продуктов Microsoft, таких, например, как Microsoft Office. Для этого могут быть применены стандартные средства Microsoft, к примеру Office 2000 Resource Kit, Office XP Resource Kit.
К моменту верстки статьи в Интернете появилась информация о выходе новой версии nLite – 0.99 beta, в которой возможности программы существенно расширены:
- добавлена поддержка интеграции hotfixes;
- включения в дистрибутив драйверов поддержки дополнительных устройств;
- увеличен перечень возможных для исключения из пакета компонентов (NWLink IPX/SPX/NetBIOS Protocol, Client for Netware Networks, SNMP Service, Command-Line tools (experimental), Event Log Service (experimental) и пр.);
- внедрены механизмы, позволяющие провести русификацию интерфейса работы с программой и пр.