УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS

         

Полезные ссылки


Сайт AutoIt

Русскaя справка к AutoIt

Коллекция AutoIt скриптов от Sanja Alone

AutoIt скрипты .:[общие вопросы]:.

(тема на OSZone)




Автор: Валерий Иванов, Sanja Alone

Источник: Русская справка к AuotIt; forum.oszone.net

Наши форумы

Опубликована- 15.02.06


© Все права защищены OSzone.net 2001-2007



Распечатано 15.02.06

Спроeктировала и разработала сайт Ginger



Пользовательские параметры Outlook Express (Outlook Express Custom Settings)


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

Следующие параметры изменяются в элементе консоли групповой политики Поддержка Internet Explorer (Internet Explorer Mainantance), и не требует настройки в диспетчере профилей IEAK. Параметры системных политик и ограничений в Windows 2000 не могут быть изменены во время установки, с использованием unattend.txt. 

«Живые» картинки (Animated Bitmaps)

Эмблема (Custom Logo)

Кнопки панели управления обозревателя (Browser Toolbar Buttons)

Настройки подключения (Connection Settings)

Программы (Programs)

Зоны безопасности и оценка содержимого (Security Zones and Content Ratings)

Настройки Authenticode (Certificate Settings)



Пошаговое руководство по удаленной установке операционной системы


Сегодня одной из наиболее трудоемких и дорогостоящих функций, выполняемых персоналом ИТ, является развертывание операционных систем на клиентских компьютерах в сети. Функция удаленной установки в Windows® 2000 была создана для развертывания операционной системы в сети предприятия без физического взаимодействия с каждым клиентским компьютером.

Службы удаленной установки (Remote Installation Services, RIS) используют преимущества новой технологии удаленной загрузки, основанной на новом Протоколе Динамической Конфигурации Узла (Dynamic Host Configuration Protocol, DHCP), помогая персоналу ИТ в удаленном развертывании Windows 2000 Professional, сокращая и, в некоторых случаях, полностью устраняя необходимость непосредственного взаимодействия с компьютером. Этот документ описывает необходимые действия по установке, настройке и использованию RIS.



Последовательное выполнение списка команд (AdvancedINF)


    В процессе выполнения скрипта может понадобиться возможность запустить exe-файлы с параметрами (или без). Для реализации этого в выполняемой секции требуется указать по крайней мере один из двух параметров: RunPreSetupCommands или RunPostSetupCommands. Как видно из названия параметров, первый выполнит свои дочерние функции перед установкой (обработкой скрипта), второй - после. Более подробно: RunPreSetupCommands обрабатывается после CheckAdminInstall (NTAdmin), RequiredEngine, но перед всеми остальными, а RunPostSetupCommands после всех, но перед EndPrompt. Параметры поддерживаются только интерпретатором AdvancedINF. Это единственные параметры, которые в своих значениях поддерживают флаги, а именно: при указании соответствующих флагов существует возможность запускать один список команд скрытым, другой - не ожидая завершения команд, третий - с задержкой после выполнения. Флаг, выглядящий, как одно число, пишется сразу после имени дочерней секции, отделяясь знаком двоеточия. Пример:

[DefaultInstall]

RunPreSetupCommands=cmd.begin, cmd.delay_post:4

RunPostSetupCommands=cmd.end, cmd.hidden:1, cmd.no_wait:2, cmd.nowait_hidden:3

;Простое выполнение команд с показом окон и ожиданием завершения каждого процесса

[cmd.begin]

filename.exe /param1 /param2

;Выполнение команд с задержкой в 400 ms завершения каждого процесса

[cmd.delay_post]

filename.exe /param1 /param2

;Выполнение команд со скрытием окон (SW_HIDE) и ожиданием завершения каждого процесса

[cmd.hidden]

filename.exe /param1 /param2

;Выполнение команд с показом окон (SW_SHOW) и без ожидания завершения каждого процесса

[cmd.nowait]

filename.exe /param1 /param2

;Выполнение команд со скрытием окон (SW_HIDE) и без ожидания завершения каждого процесса

[cmd.nowait_hidden]

filename.exe /param1 /param2

;Простое выполнение команд с показом окон и ожиданием завершения каждого процесса

[cmd.end]

filename.exe /param1 /param2

filename2.exe /param1 /param2

filename3.exe /param1 /param2

    Расшифровка ключей управления процессами в дочерних секциях:

1 - Попытаться скрыть окна создаваемого процесса

2 - Не ожидать завершения процессов, запускаемых в дочерних секциях

4 - После завершения каждого процесса будет выдержана пауза в 400 миллисекунд.

   

Число флага кратно и может складываться из нескольких значений, то есть, содержать в себе несколько флагов. К примеру, число 6 содержит в себе 2 флага - 4 и 2; 5 - 4 и 1. В итоге могут получаться уникальные числа, содержащие любой набор флагов.



Послесловие


В статье делается упор на tftpd32, так как он бесплатен, не требует установки, и включает в себя 2 сервера в 1 (DHCP и TFTP), а также запускается под Windows любой версии. Но сам принцип - загрузка и запуск бинарника pxelinux (с последующей загрузкой нашего образа) - не привязан к tftpd32, а требует наличия в сети DHCP сервера с двумя дополнительными параметрами - 067 (имя загружаемого бинарника - pxelinux.0) и 066 (IP адрес TFTP сервера который нам и выдает искомый бинарник), а также собственно TFTP сервер, на который ссылается DHCP. Какими системами, сервисами или железками это реализовано нам совершенно неважно, потому можно использовать любой находящийся в сети сервер (Linux, Windows, Novell). Ну а если его нет, то tftpd32, запущенный на любой машине. Главное - это добраться по сети до PXELINUX.

Автор: способа RIS - Владимир Сердюк aka vserd; способа TFTPD32 - Power User

Иcточник: unattended.oszone.net

Наши форумы

Опубликована - 03.12.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 03.12.05

Спроeктировала и разработала сайт Ginger



Post


Сайт программы

(Обзор программы - мой, на основе описания Vics)

Наверное, не слишком уместно писать обзор программы, которую даже не протестировал. Однако Post выглядит весьма несложной, так что я попробую :) Команда на запуск программы прописывается в cmdlines.txt, соответственно она будет выполнена на Т-12 (за 12 минут до конца установки). За основу для работы берется хорошо знакомый файл RunOnceEx.cmd, в который вставляются маркеры. Рассмотрим на примере:

cmdow @ /HID

@echo off

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Установка выбранных программ" /f

;1

REG ADD %KEY%\005 /VE /D "Adobe Reader 6" /f

REG ADD %KEY%\005 /V 1 /D "%systemdrive%\install\AdobeReader6\AR6.msi /qn" /f

;2

REG ADD %KEY%\010 /VE /D "Diskeeper 8" /f

REG ADD %KEY%\010 /V 2 /D "%systemdrive%\install\Diskeeper\setup.exe /s /v/qn" /f

;3

REG ADD %KEY%\015 /VE /D "Photoshop CS" /f

REG ADD %KEY%\015 /V 1 /D "%systemdrive%\install\Photoshop\setup.exe" /f

;f

EXIT

Примечание: если вы устанавливаете ПО с CD, то для корректной работы Post.exe нужно использовать второй метод для назначения переменной %CDROM% со страницы Запуск RunOnceEx с CD.

Перед каждым параметром, вносящимся в ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx (попросту говоря, перед каждой программой), ставится маркер, который является порядковым номером и выглядит как ;n (где n=1, 2, ... , n). Маркеры обязательно должны идти по порядку, и пропуск цифры недопустим. Перед командой EXIT ставится финализирующий маркер ;f. Вот собственно и все, проще некуда. Остается внести в файл cmdlines.txt команду:

[COMMANDS]

"post.exe"

и убрать оттуда команду на запуск RunOnceEx.cmd во избежание двойного срабатывания.

Преимущества: простота конфигурирования при наличии готового файла RunOnceEx.cmd; графический интерфейс; выбор желаемых приложений и запуск их всех одной кнопкой; запуск на Т-12 плюс все преимущества файла RunOnceEx.cmd.

Недостатки: напрашивается доработка графического интерфейса; порядок установки приложений определяется файлом RuOnceEx.cmd и если добавить в середину приложения; то придется менять порядок маркеров.



Практические советы


Как известно, твики реестра позволяют настроить практически любые параметры системы. Я уже забыл, когда последний раз пользовался твикером, т.к. система уже сразу устанавливается с учетом моих предпочтений. Вероятно, вы захотите сделать тоже самое. Резонный вопрос: как узнать какой твик реестра отвечает за те или иные изменения в системе, произвoдимые через пользовательский интерфейс?

В сети масса сайтов, содержащих информацию о параметрах реестра. Начать можете с www.oszone.net/14. Там очень большая подборка твиков, созданная силами участников форумов автоустановки. Не копируйте все твики разом, а постарайтесь вникнуть в смысл каждого из них. Сравните со своими настройками системы.

Кстати, экспортирование параметров вашей настроенной системы - отличный вариант. Так, например, изрядное количество настроек меню Пуск и вида папок находится в разделее

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced.

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

Если ваши поиски не увенчались успехом, то... вы плохо искали :) Можете попробовать произвести мониторинг системы

самостоятельно. В этом вам помогут бесплатные программы Regmon или Process Monitor (мониторинг в реальном времени) и Regshot (снимок до и после изменений).

Ну и конечно, вы всегда можете задать вопрос на форуме в теме про твики реестра.


Автор: Вадим Стеркин aka Vadikan

Иcточник: unattended.oszone.net

Наши форумы

Опубликована- 28.02.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 09.04.05

Спроeктировала и разработала сайт Ginger


Если вы не устали, то нам еще есть что рассказать

Вашему вниманию предлагается два примера, демонстрирующих применение BCDW в реальных условиях.



у меня такая ситуация. Принесли


Возникла у меня такая ситуация. Принесли компьютер, еле живой, Asus S200, та еще штучка как оказалось впоследствии. Диск был разбит по грамотному (два раздела), и на втором был дистрибутив Windows, спасибо предыдущему настройщику, облегчил задачку.
Итак, имеем компьютер без флоппа и CDROM. Есть сетевая карта SIS900. В BIOS есть возможность загрузиться с HDD, USB Floppy, USB Flash, USB CDROM и по сети.
На момент начала мучений с ним была только флешка, но грузиться с нее он отказался. Достать USB СD или Floppy не удалось. Оставалась только сетевая загрузка. Кстати, как оказалось впоследствии, что реально помог бы только USB флоп. USB СD не опознался.
Читая доки MS и форумы по автоустановке, я натыкался на сокращение RIS и упоминание того, что можно загрузиться с сетевой карты и установить ось. Вот и решил проверить. Поставил RIS, создал образ, настроил DHCP и ... получил огромный облом. Система действительно загружалась, проходила текстовую часть установки и вываливалась в BSOD с кодом 0x000000BB. Согласно толкованям, найденным на просторах Интернета, для исправления  нужно всего ничего, заменить драйвера сетевой карты в дистрибутиве или заменить сетевую карту. Скачал новую версию драйверов, прочитал KB315279 и ссылки по ней, сделал все как описано, и танцы с бубном окончились продолжительным BSOD-ом с тем же кодом.
Ладно, если не получается с наскока давайте читать инструкции. Изучал, изучал и наткнулся на возможность использования практически любого образа диска для загрузки по сети.


Прочитал статью с описанием способа RIS и решил поделится своим методом. Дело в том что по работе мне приходится часто кидать образы на компьютеры в школах, к которым у детишек отношение весьма не доброе, а потому большинство CD-ROM сломано, а с дисководом никогда не угадаешь заранее, считает дискетку или нет. Поэтому загрузка образов дискет (и не только) через PXE мне очень близка.


Удаленная установка операционной системы и технологии управления IntelliMirror™ являются важнейшими элементами управления изменениями и конфигурацией в ОС Windows 2000. Функция удаленной установки ОС позволяет системным администраторам воспользоваться преимуществами новой технологии удаленной загрузки, основанной на PXE, и задействовать серверное программное обеспечение для установки ОС Windows 2000 Professional на локальные компьютеры предприятия. После развертывания операционной системы сетевые администраторы могут применить технологии IntelliMirror для управления пользовательскими данными, настройками и программным обеспечением на компьютерах, работающих под управлением Windows 2000.  

Следующая таблица демонстрирует особенности и преимущества управления изменениями и конфигурацией, а также технологии, поддерживающие эти возможности.

Управление изменениями и конфигурацией Компонент Компонент Преимущества Технологии
Управление изменениями и конфигурацией IntelliMirror Управление пользовательскими данными Мои данные и документы следуют за мной!
Перемещаясь от одного компьютера сети к другому, пользователи сохраняют доступ к необходимым для их работы данным в любом режиме подключения к сети. Администраторы могут централизованно управлять этой возможностью при помощи групповой политики, что снижает затраты на поддержку.
- Active Directory
- Групповая политика
- Автономные папки
- Диспетчер синхронизации
- Расширения оболочки Windows
- Перенаправление папок
- Дисковые квоты
Управление изменениями и конфигурацией IntelliMirror Установка и поддержка ПО Мое ПО следует за мной!
У пользователей есть необходимое для работы программное обеспечение. ПО и дополнительные компоненты устанавливаются по запросу. Однажды установленное ПО самовосстанавливается. Администраторы централизованно (посредством групповой политики) управляют развертыванием и обновлениями ПО, а также обновлениями ОС. Это минимизирует стоимость поддержки.
- Active Directory
- Групповая политика
- Windows Installer
- Установка/Удаление программ из панели управления
- Расширения оболочки Windows
Управление изменениями и конфигурацией IntelliMirror Управление пользовательскими настройками Мои настройки следуют за мной!
Пользователи видят любимые настройки рабочего стола на любом компьютере. Личные предпочтения, а также настройки рабочего стола и ПО доступны при входе в систему любого компьютера сети. Администраторы могут централизованно управлять этой возможностью при помощи групповой политики, что уменьшает затраты на поддержку
- Active Directory
- Групповая политика
- Автономные папки
- Перемещаемые профили пользователей
- Расширения оболочки Windows
Управление изменениями и конфигурацией    Удаленная установка OS Администраторы могут позволить удаленную установку операционных систем на базе Windows 2000 и развертывание готовых образов на новых или заменяемых компьютерах без вызова службы технической поддержки. - Active Directory
- Групповая политика
- Протокол DHCP
- Службы удаленной установки (RIS)
Управление изменениями и конфигурацией    IntelliMirror + Удаленная установка OS > Замена компьютеров IntelliMirror + Удаленная установка OS > Замена компьютеров IntelliMirror + Удаленная установка OS > Замена компьютеров
 

Наверх страницы

Предотвращение возможности множественного запуска скрипта


В начало скрипта добавьте такие строки:

If WinExists(@ScriptName) Then Exit

AutoItWinSetTitle(@ScriptName)



Предпросмотр изменений


Просмотреть изменения можно несколькими способами.

Можно использовать программу XPreview, написанную jcarle. Для ее работы требуется .NET Framework. После установки и запуска программы достаточно зайти в меню File | Open и выбрать модифицированный файл winntbbu.dll. В некоторых случаях программа некорректно отображает цвета, судя по сообщениям на MSFN.

Альтернативно можно (после замены оригинальных файлов в дистрибутиве своими) запустить winnt32.exe. Начнется установка Windows, которая остановится на первом же экране. Этого будет достаточно, чтобы рассмотреть все как следует.

Ну и наконец, можно запустить установку Windows на виртуальной машине и дождаться ее графического этапа.

Автор: Вадим Стеркин aka Vadikan

Иcточник: (переведено с англ.) unattended.msfn.org

Наши форумы

Опубликована- 06.04.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 09.04.05

Спроeктировала и разработала сайт Ginger


Просмотреть изменения можно несколькими способами.

Можно использовать программу XPreview, написанную jcarle. Для ее работы требуется .NET Framework. После установки и запуска программы достаточно зайти в меню File | Open и выбрать модифицированный файл winntbbu.dll. В некоторых случаях программа некорректно отображает цвета, судя по сообщениям на MSFN.

Альтернативно можно (после замены оригинальных файлов в дистрибутиве своими) запустить winnt32.exe. Начнется установка Windows, которая остановится на первом же экране. Этого будет достаточно, чтобы рассмотреть все как следует.

Ну и наконец, можно запустить установку Windows на виртуальной машине и дождаться ее графического этапа.

Автор: Вадим Стеркин aka Vadikan

Иcточник: (переведено с англ.) unattended.msfn.org

Наши форумы

Опубликована- 08.04.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 09.04.05

Спроeктировала и разработала сайт Ginger




Просмотреть изменения можно несколькими способами.

Можно использовать программу XPreview, написанную jcarle. Для ее работы требуется .NET Framework. После установки и запуска программы достаточно зайти в меню File | Open и выбрать модифицированный файл winntbbu.dll. В некоторых случаях программа некорректно отображает цвета судя по сообщениям на MSFN.

Альтернативно можно (после замены оригинальных файлов в дистрибутиве своими) запустить winnt32.exe. Начнется установка Windows, которая остановится на первом же экране. Этого будет достаточно, чтобы рассмотреть все как следует.

Ну и наконец, можно запустить установку Windows на виртуальной машине и дождаться ее графического этапа.

Автор: Вадим Стеркин aka Vadikan

Иcточник: (переведено с англ.) unattended.msfn.org

Наши форумы

Опубликована- 08.04.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 09.04.05

Спроeктировала и разработала сайт Ginger



Предустановка OEM компонентов


Mы будем использовать $ОЕМ$ директории на инсталляционном диске для установки драйверов, приложений и твиков реестра. Чтобы это все работало, необходимо прописать два параметра в файле winnt.sif в секции [Unattended]. Откройте winnt.sif в любом текстовом редакторе и добавьте следующие строки:

[Unattended]

OemPreinstall=Yes

UnattendSwitch="yes"

OEMPreinstall=Yes сообщает Windows, что на диске находится директория $OEM$. Таким образом во время установки все содержимое директории будет скопировано на раздел жесткого диска, на который устанавливается система.

UnattendSwitch="yes" говорит Windows пропустить этап "Добро пожаловать в Windows XP", который помогает пользователю создать Учетные записи и подключение к сети Интернет.

Не забудьте, что использование виртуальных машин сильно сэкономит вам время и записываемые носители. Пожалуй, единственным недостатком виртуальных машин применительно к этому разделу будут драйверы. Их действительно нельзя протестировать на виртуальной машине. Однако, приложения, твики реестра и все остальное, обсуждаемое в этом разделе, очень удобно тестировать на виртуальной машине.

Мы начинаем с методов установки драйверов и приложений.

Автор: Вадим Стеркин aka Vadikan

Иcточник: unattended.msfn.org

Наши форумы

Опубликована- 27.02.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 09.04.05

Спроeктировала и разработала сайт Ginger



Предварительные требования


См. Приложение A ниже, чтобы проверить соответствие серверного и клиентского оборудованию системным требованиям для удаленной установки.

Диск на сервере, который Вы выбрали для установки RIS, должен быть отформатирован в файловой системе NTFS. Для RIS требуется значительное дисковое пространство, и он не может быть установлен на тот же диск или раздел, где установлена ОС Windows 2000 Server. Удостоверьтесь, что выбранный диск содержит достаточно свободного места, по крайней мере, для одного установочного компакт-диска  Windows 2000 Professional – минимум около 800 мегабайт (Мб) – 1 гигабайта (Гб).

RIS требует наличия нескольких других служб, которые также входят в состав Windows 2000 Server. Данные службы могут быть установлены на различные сервера или на единственный сервер, в зависимости от схемы Вашей сети:

Сервер Службы Доменных Имен (Domain Name Service (DNS) Server). Удаленная установка нуждается в DNS для обнаружения службы каталогов и учетных записей клиентских компьютеров. Вы можете использовать любой DNS-сервер совместимый со службой каталогов Active DirectoryTM или DNS-сервер, поставляемый с Windows 2000 Server.

Сервер DHCP (Dynamic Host Configuration Protocol (DHCP) Server). RIS требует наличия в сети активного сервера DHCP. Компьютеры с возможностью удаленной загрузки получают IP адрес от сервера DHCP перед соединением с RIS.

Служба каталогов Active Directory. RIS использует Active Directory для хранения информации об имеющихся компьютерах и серверах RIS. Службы RIS должны быть установлены на сервере под управлением Windows 2000, который имеет доступ к Active Directory. Это может быть контроллер домена или сервер, входящий в домен, с доступом к Active Directory.

Для успешной установки и работы RIS, Вы должны установить и настроить дополнительные службы, в порядке описанном ниже. Кроме того: у Вас должны быть установочные компакт-диски Windows 2000 Server и Professional.

Для выполнения этого пошагового руководства, Вам необходимо создать базовую инфраструктуру, которая включает в себя индивидуальные настройки оборудования и программного обеспечения. Данный процесс описан в пошаговом руководстве по созданию базовой инфраструктуры «Часть 1, Установка Windows 2000 Server в качестве контроллера домена». ("Part 1: Installing a Windows 2000 Server as a Domain Controller") http://www.microsoft.com/windows2000/techinfo/planning/server/serversteps.asp (EN). Если Вы не используете базовую инфраструктуру, Вам нужно сделать соответствующие изменения в данном наборе инструкций.

Хотя это и не является обязательным, мы также рекомендуем изучить и выполнить примеры, описанные в Пошаговое руководство по использованию возможностей набора Групповой политики (Step-by-Step Guide to Understanding the Group Policy Feature Set). Это позволит понять, как работают Групповые политики и как их можно использовать в контексте удаленных установок.



Предварительные условия для установки клиентских компьютеров


Убедитесь, что сетевая карта клиентского компьютера установлена в BIOS в качестве первичного загрузочного устройства. При загрузке с сетевой карты компьютер запрашивает сетевую загрузку службы с сервера удаленной установки. Установив соединение, сервер RIS предлагает пользователям нажать клавишу F12 для загрузки Мастера установки клиентов (Client Installation wizard). Пользователи будут уведомлены о том, что нужно нажать клавишу F12

только после приглашения, и только в тех случаях, если им необходима установка новой ОС или доступ к инструментам обслуживания и восстановления. После начала установки ОС через RIS, пользователь может игнорировать приглашение нажать клавишу F12 во время последующих перезагрузок компьютера. Если используется загрузочная дискета RIS, просто вставьте дискету в дисковод и включите компьютер. Компьютер загрузится с данной дискеты, и пользователю будет предложено нажать клавишу F12 для запуска сетевой загрузки службы. При использовании загрузочной дискеты RIS, пользователь должен вынуть дискету после нажатия клавиши F12, но до завершения части установки, проходящей в текстовом режиме.

Примечание: Компьютеры Compaq предоставляют возможность нажатия клавиши F12 во время загрузки компьютеров соответствующих стандартам PC98 или Net PC. В этом случае пользователю необходимо нажать F12 во время заставки Compaq, и затем еще раз нажать клавишу F12 после приглашения сервера RIS.

Наверх страницы



Prepare.cmd


cmdow @ /HID @echo off

attrib -r "%programfiles%\cdex\*.*" /s attrib -r "%programfiles%\Edialer\*.*" /s attrib -r "%programfiles%\IrfanView\*.*" /s attrib -r "%programfiles%\Opera75\*.*" /s attrib -r "%programfiles%\Proxomitron\*.*" /s attrib -r "%programfiles%\Winamp\*.*" /s

DEL /F /Q "%systemroot%\*.bmp" DEL /F /Q "%systemroot%\Web\Wallpaper\*.jpg" DEL /F /Q "%systemroot%\system32\*.scr"

DEL /F /Q "%AllUsersProfile%\Start Menu\Windows Update.lnk" DEL /F /Q "%AllUsersProfile%\Start Menu\Set Program Access and Defaults.lnk" DEL /F /Q "%AllUsersProfile%\Start Menu\Windows Catalog.lnk"

regsvr32 /u /s zipfldr.dll

EXIT



Prepare.cmd и Cleanup.cmd


Этот пункт необязателен. Вы можете использовать исполняемые файлы для выполнения задач, которые проще запустить отдельно, чем добавлять их в строки REG ADD в файле RunOnceEx.cmd. Чтобы увидеть как они запускаются, посмотрите пример файла RunOnceEx.cmd выше. В принципе, запуск их ничем не отличается от запуска других приложений и *.reg файлов.

Prepare.cmd может содержать все, что вы хотите выполнить

cmdow @ /HID

DEL "%systemroot%\*.bmp"

DEL "%systemroot%\Web\Wallpaper\*.jpg"

DEL "%systemroot%\system32\dllcache\*.scr"

DEL "%systemroot%\system32\*.scr"

DEL "%AllUsersProfile%\Start Menu\Windows Update.lnk"

DEL "%AllUsersProfile%\Start Menu\Set Program Access and Defaults.lnk"

DEL "%AllUsersProfile%\Start Menu\Windows Catalog.lnk"

EXIT

Если вы не понимаете, что делает данный файл, то не используйте его. Вкратце, он удаляет все обои и скринсэйверы, используемые в Windows по умолчанию, а также удаляет различные ярлыки из меню Пуск.

Cleanup.cmd может содержать команды для удаления ненужных директорий и перезагрузки компьютера после установки всех приложений.

cmdow @ /HID

shutdown.exe -r -f -t 30 -c "Windows XP will now restart in 30 seconds..."

net user aspnet /delete

RD /S /Q %systemdrive%\drivers\

RD /S /Q %systemdrive%\install\

EXIT

Вы можете объединить оба файла в один, без разницы.



Таблица префиксов.


Цифровой префикс Пример записи и предлагаемый порядок аддонов
0 Служебные
0 0-HTMLINFO
1 Аддоны базового набора
1 1-BASECSP
1 1-FLASH
1 1-HDA
1 1-IE
1 1-IMAPI2
1 1-MMC3
1 1-MSXML
1 1-MU
1 1-PKGINST
1 1-PNRP
1 1-RDC6
1 1-ROOTSUPD
1 1-WEBFLDRS
1 1-W
2 Разного рода обновления и дополнения встроенных компонентов ОС.
2 2-SHOCKWAVE
2 2-DOTNET35
2 2-DX9U
2 2-HTMCD
2 2-WMP11RUS
3 Неофициальные обновления или не рекомендуемые обновления ОС.
3 3-KB893056-MSGINA
3 3-KB901190-IME
3 3-EXTREMEPACK
4 Хаки
4 4-OOBE
4 4-RAID
4 4-RCADMIN
4 4-NODEP
5 Различные DLL и OCX файлы.
5 5-EXPEXT
5 5-HASHTAB
5 5-PRIO
5 5-TARGET
6 Аддоны, предназначенные для внесения изменений в реестр и настройки ОС.
6 6-UNPNC
6 6-XPRIGHTS
6 6-MYCUSTOM
7 Программы сторонних производителей.
7 7-WINRAR
7 7-EMEDITOR7
7 7-REGSHOT
7 7-SALAMANDER
7 7-VOLUMEC
8 Аддоны, предназначенные для удаления компонентов ОС и драйверов.
8 8-DEL_CAM
8 8-DEL_LANDRV
8 8-DEL_MODEM
8 8-DEL_MULTIPORT
8 8-DEL_PRN
8 8-DEL_SCANER
8 8-DEL_SCSI-4
8 8-DEL_VIDEODRV
8 8-DELBMPINWIN
8 8-DELGAMES
8 8-DELMOUSETOUR
8 8-DELNETMEETING
8 8-DELPINBALL
8 8-DELSCR
8 8-DELWINTOUR
8 8-DELZONEGAMES
9 Служебные. Предназначены для пост-обработки информации или создания образа.
9 9-ZLOG
9 9-BCDW

 К содержанию



Файл Txtsetup.sif


(с) Gosh http://gosh.msfn.org/txtsetup.htm

авторский перевод + мелкие дополнения - Volk1234

Txtsetup.sif - это, как следует из названия файла, Text setup system information file - файл установки текстового режима. После текстового режима этот файл не нужен системе, поэтому он не копируется из дистрибутива, не защищен цифровой подписью и не включен в состав файлов, защищаемых SFC. В связи с этим, Txtsetup.sif идеально подходит для целей автоустановки, добавления- удаления компонентов и записей реестра.

Добавление\удаление записей

Удалить строку из Txtsetup.sif проще простого - любой текстовый редактор это может. Также, можно закомментировать строку точкой с запятой (что лучше, если вы не знаете что делаете). А вот добавить строку сложнее, требуется знать синтаксис.

Синтаксис записи в секции копирования Txtsetup.sif:

filename_on_source= diskid, , , , , , , subdir, upgradecode, newinstallcode, spare, spare, newfilename, flag, unknown

Рассмотрим пример:

locsecw.chm = 1, , , , , , , 21, 0, 0, localsec.chm

[locsecw.chm] - файл дистрибутива (понятно, что он находится в i386)

[1] - соответствует секции [SourceDisksNames.x86] в Txtsetup.sif. В данном случае параметр [1] означает,

что файл из оригинальной (RTM) сборки. Значение [100], например, означает принадлежность файла к SP1, SP2.

Отвечает на вопрос ОТКУДА?

[,,,,,,,] - пустые параметры отделенные знаками запятой специфика winnt систем. Точные значения неизвестны.

[21] - указывает папку назначения, секция [WinntDirectories], в данном случае %Windir%\Help

Отвечает на вопрос КУДА?

[0] - upgradecode - режим копирования файла. Предназначен для корректного обновления с более старых ОС.

значения:

0 - Копировать всегда

1 - Копировать только в том случае, если файл присутствует в папке назначения

2 - Не копировать, если файл присутствует в папке назначения

3 - Не копировать файл

[0] - newinstalcode - указывает на "чистую" установку. Необязателен. Если не указан, используется значение по умолчанию = 3, а файл не копируется.


[localsec.chm] - новое имя, переименование происходит при копировании.

Интересное отступление: в первоначальном имени присутствует буква w. Gosh предполагает, что w - это сокращение от workstation, а p - Personal. Так планировалось называть версии XP, аналогично Professional и Home:

cmconW.chm = 1, , , , , , , 21, 0, 0, cmconcepts.chm - xp pro txtsetup.sif

cmconP.chm = 1, , , , , , , 21, 0, 0, cmconcepts.chm - xp home txtsetup.sif

[flag] - флаг копирования (подробнее смотрите Руководство по работе с INF-файлами).

[unknown] - пока не могу сказать, что это, но в родном файле используется для драйверов и системных файлов, принимая значения от 2 до 180.

Теперь рассмотрим другой пример:

autofmt.exe = 1, , , , , , _x, 2, 0, 0, , 1, 2 

[_x] означает, что файл дистрибутива не сжат. Если [_x] отсутствует, программа установки предполагает, что файл сжат. Каждый файл XP перечислен в Layout.inf, вместе с размером в байтах. Размер в байтах, очевидно, зависит от того, сжат файл или нет. Если Txtsetup.sif укажет программе установки, что файл не сжат, то установщик будет сравнивать размер файла с Layout.inf, чтобы удостовериться что размер не был изменен. Если размер файла не соответствует тому, что указан в Layout.inf, установка XP может быть прервана ошибкой.

Важно! Если устанавливается сторонняя программа, размера и имени которой нет в Layout.inf, необходимость использования параметра [_x] отпадает.

Важно! Txtsetup.sif не сообщает программе установки местоположение файлов. Его единственная функция - скопировать нужный файл в нужную папку. Txtsetup.sif запускается после того, как Dosnet.inf скопирует дистрибутив в C:\$WIN_NT$. ~ LS. Txtsetup.sif предполагает, что исходные файлы постоянно находятся в этой папке. При установке с CD\DVD все проще, потому что файлы сразу переписываются в %windir%. В таком варианте Dosnet.inf скорее выполняет второстепенные функции по указанию путей копирования.

Фактически, Txtsetup.sif отвечает за копирование файлов, обеспечение удаления старых папок при апгрейде, создании кустов реестра, первоначальной загрузкой критических драйверов. 

Пример Txtsetup.sif для аддона CCleaner

[SourceDisksFiles]

Cleaner.inf = 100,,,,,,,20,0,0

CCleaner.cab = 100,,,,,,_x,,3,3

1. Как видим, использован параметр [100], то есть указание на SP2 (что не очень принципиально).

2. INF-файл копируется в папку %Windir%\inf [20] для возможности деинсталяции аддона.

3. CAB-файл в папку Windows не копируется [,3,3] и не сжат [_x](?). Файлы из CAB-архива просто устанавливаются с помощью одноименного INF-файла.

 К содержанию


Файл Sysoc.inf


Здесь то немногое, что удалось собрать.

Sysoc (System Optional Components) - это диспетчер установки дополнительных компонентов ОС. В процессе выполнения программы установки выполняется файл sysoc.inf, посредством ocgen.dll и других библиотек. Файл Состоит в основном из секций [Components] где указываются устанавливаемые дополнительные компоненты.

Синтаксис:

WGA=ocgen.dll, OcEntry, Pck_WGA.inf, HIDE, 7

WGA - имя исполняемой секции

ocgen.dll - библиотека обработчик sysoc

OcEntry - команда ocgen.dll (нечто вроде точки входа)

Pck_WGA.inf - название INF-файла устанавливаемого компонента

Hide - скрыть компонент

7- флаг (неизвестно); для ocgen.dll всегда равен 7

Для установки через Sysoc в ваш INF-файл необходимо добавить секцию:

[Optional Components]

Имя исполняемой секции

Для размещения вашего приложения, устанавливаемого через Sysoc в группе 3rdParty (Программы сторонних разработчиков), добавьте в исполняемую сецию инструкцию Parent=NonMS. Также, уберите параметр HIDE из строки в Sysoc.

Параметр Modes=0,1,2,3 точное значение неизвестно, однако разместить его в исполняемой секции можно двумя способами:

Modes=0,1,2,3     ;аддон будет установлен по умолчанию

;Modes=0,1,2,3    ;аддон не будет установлен по умолчанию, его доустановка возможна из "Установки компонентов Windows"

Без параметра Modes аддон не будет установлен.

 К содержанию



Секция [Optional Components]


Бродя по темным закоулкам Technet и просматривая одним глазом DDK и SDK KIT для Win98, я наткнулся на описание загадочной секции, использующейся для установки через sysoc.inf. Я подозревал, что это штатная секция INF-файлов, просто не сильно афишировавшаяся. Итак, подробнее об этой секции.

Синтаксис:

[Optional Components]

Имя секции - ссылка на секцию в файле, которую надо исполнить для установки

.....

[Имя секции] - сама установочная секция

Данная секция служит для добавления устанавливаемого приложения в список оснастки "Установка/Удаление программ - Компоненты Windows". Секция не будет исполнена при попытке выполнить файл по правому щелчку мышью и выбору пункта "Установить". Ее также нельзя выполнить с помощью команды [Setupx.dll InstallHinfSection точка_входа]. В первом случае будет выполнятся секция [DefaultInstall], a во втором секция - указанная точкой входа. В обоих случаях параметры секции [Optional Components] будут игнорированны.

Насколько я понимаю, для обработки дополнительных инструкций секции [Optional Components] и существуют файлы sysoc.inf, ocgen.dll и sysocmgr.exe. В основном инструкции [Optional Components] служат для управления отображения компонентов в окне "Компоненты Windows".

Вернемся к синтаксису. В секцию установки могут быть добавлены следующие инструкции OC: 

OptionDesc=название дополнительного компонента

Tip=Подсказка в поле "Описание".

InstallDefault=0 | 1 ; Устанавливать компонент по умолчанию. 1=Да, 0=Нет.

IconIndex=Номер иконки для отображения

Parent= (имя секции\группы) группа или подгруппа в  "Компоненты Windows" (Пример: "Игры Windows" относятся к Parent=AccessUtil, аддоны 3dParty к Parent=NonMS)

Needs=имя секции, имя секции

Include=INF-файл, [INF-файл]

OptionDesc - это строковой параметр задающий название дополнительного компонента отображающегося в "Компоненты Windows". Может быть задан через Strings.

Tip - это текст подсказки в поле "Описание", ограничение - 255 символов.
Может быть задан через Strings.

IconIndex - это иконка, которая будет отображатся рядом с названием компонента. Привожу список иконок в оригинале:

0 Machine (base and display)

1 Integrated circuit chip

2 Display

3 Network wires

4 Windows flag

5 Mouse

6 Keyboard (3 keys)

7 Phone

8 Speaker

9 Hard disks

10 Comm connector

11 Diamond (default value)

12 Checked box

13 Un-checked box

14 Printer

15 Net card

16 Same as 0

17 Same as 0 w/ a sharing hand underneath

18 Unknown (question mark)

19 Atwork

20 Greyed check box

21 Dial-up networking

22 Direct cable connection

23 Briefcase

24 Exchange

25 Partial check

26 Accessories group

27 Multimedia group

28 Quick View

29 MSN

30 Calculator

31 Defrag

32 Generic document

33 DriveSpace

34 Solitaire

35 HyperTerminal

36 Object Packager

37 Paint

38 Screen saver

39 WordPad

40 Clipboard Viewer

41 Accessibility

42 Backup

43 Bitmap document

44 Character map

45 Mouse pointers

46 Net Watcher

47 Phone Dialer

48 System Monitor

49 Help book

50 Globe (international settings)

51 Audio compression

52 CD player

53 Media Player

54 Sound scheme

55 Video clip

56 Video compression

57 Volume control

58 Musica sound scheme

59 Jungle sound scheme

60 Robotz sound scheme

61 Utopia sound scheme

Parent - это инструкция, указывающая, является компонент подчиненным или родительским. Если параметр отсутствует, то менеджер дополнительных компонентов считает что компонент родительский. Если указать несуществующий родительский компонент (например, сам аддон), менеджер компонентов зависнет в попытке найти такого родителя. Для всех авторов аддонов должен быть только один вариант - Parent=NonMS (аддон 3dParty), чтобы не загромождать менеджер дополнительных компонентов (конечно, кроме особых случаев).

Needs указывает на секцию другого дополнительного компонента, от которого зависит устанваливаемый компонент. Секция должна быть в этом же файле, в противном случае

необходимо использовать Include.

Include присоединяет INF-файл стороннего компонента к текущей установке, что позволяет ссылатся на секции в присоединенном файле.



InstallDefault, скорее всего, достался в наследство от Win98. Я пробовал ставить аддон с этим параметром = 1 вместо Modes= 0,1,2,3. Аддон не поставился, но в списке

компонентов появился и позволил доустановить себя. У кого получится установить - сообщите. Пока могу посоветовать использовать Modes=0,1,2,3.

Пример:

[Optional Components]

InstallMyToys

InstallGames

[InstallMyToys]

OptionDesc=%Toys_DESC%

Tip=%Tomytoysys_TIP%

IconIndex=35 ;Иконка "Телефон"

Parent=MailApps

Needs=MSMAIL, MAPI, MicrosoftNetwork

Include=mos.inf, msmail.inf

CopyFiles=MyToysFiles

UpdateInis=MyToysLinks

AddReg=MyToysRegItems

   

[InstallOtherApps]

OptionDesc=%Other_DESC%

Tip=%Other_TIP%

IconIndex=4 ;windows mini icon for dialogs

CopyFiles=OtherFiles

UpdateInis=OtherLinks

AddReg=OtherRegItems

  

[Strings]

Toys_DESC="Почтовая утилита"

Toys_TIP="Дополнительные почтовые инструменты"

Other_DESC="Другие полезные утилиты"

Other_TIP="Калькулятор, очистка диска и монитор производительности"

  Дополнительно можно прочесть про файл ответов sysocmgr.exe (для установленной системы) здесь.

 К содержанию


Этапы и механизмы


Этапы текстового режима различаются в зависимости от режимов установки. Здесь рассматриваются этапы установки с дистрибутивного CD, из удаленного сетевого дистрибутива и с локального дистрибутива на жестком диске (zip, flash). В принципе, мастер установки рассматривает любой вариант установки, кроме установки с CD, как установку из удаленного источника, отсюда и дополнительный этап копирования во временную папку $win_nt$.~ls, перезагрузку и уже только затем копирование в папку установки.



Патч Sfcfiles.dll


В составе Update pack приcутствует патч SFCfiles.dll, написанный участником конференции BoaSoft. Взаимодействовать с патчером возможно путем конфигурационных файлов KillWFP.lst, DelDrv.lst, DelOC.lst. Синтаксис простой: имя файла (с расширением), для которого необходимо отключить WFP и/или который необходимо удалить из дистрибутива.

Описание патча sfcfiles.dll предоставим автору:

Зачем это нужно?

Большая часть важных для системы файлов в Windows XP защищена от удаления и изменения функцией WPF (Windows File Protection). Если вы хотите удалять или изменять некотрые файлы, система не даст этого сделать. Точнее, это ограничение можно обойти, но при запуске SFC произойдет замена файлов на оригинальные или же последует запрос на вставку диска с дистрибутивом. Можно полностью отключить защиту, но тогда система становится беззащитной перед шаловливыми руками пользователя или криво перепакованными дистрибутивами игрушек. Результат - отсутствующие файлы и падение системы.

В большинстве случаев требуется исключить лишь несколько фалов. Этого можно легко достичь патчем SfcFiles.dll, заставив библиотеку "забыть" о этих файлах.

Алгоритм работы

Программа действует очень просто. Операционная система определяет, какие файлы защищены, на основе информации, содержащейся в библиотеке SfcFiles.dll. Эта библиотека не несет в себе прямых функций защиты, а только выдает список защищенных файлов. Там находятся списки защищаемых файлов, целых 5 штук для разных систем:

XP Pro

XP Home

Xp Tablet PC

XP Media Center Edition

XP Starter

В серверной библиотечке тоже 5 списков, но их назначения (соответствия версиям продуктов) не выяснены. Система защиты получает список защищенных файлов с полными путями из этой библиотеки, вызывая API - функцию SfcGetFiles. Нам же требуется, чтобы в этот список не попали нужные нам файлы.

В 3-й версии патчера применен новый алгоритм - патчатся не строковые значения, а таблица указателей. Этих таблиц также 5 - по числу версий продукта.
В этой таблице просто происходит подмена указателей на выводимые из защиты файлы на указатель на любой из оставшихся файлов. В результате при выдаче списка файлов некоторые файлы будут присутствовать более одного раза, а работа SFC никак не изменится - все невыведенные файлы будут защищены.

Патчер автоматом корректирует CRC в PE заголовке файла, после чего файл готов к применению. Если в логе говорится, что файл не найден, скорее всего он не входит в список защищенных. Для стабильного результата патчите всегда оригинал, хотя повторный патч библиотеки, уже пропатченной этой версией патчера, не приведет к ошибке.

Важно! Если патчить библиотеку, ранее уже патченную более старыми версиями патчера или другими утилитами, то возможны разные непредсказуемые проблемы.

Проверялось с SfcFiles.dll от Windows XP SP2 rus/ SP2 en/ SP1/2003 Server rus. (Во всей линейке ОС одного семейства и пакета обновлений библиотека одинакова!). С другими версиями программа также должна работать. Проверить правильность работы можно на рабочей ОС, временно заменив оригинальную библиотеку на патченую, проигнорировав запрос о вставке диска и перезагрузившись.

Патчер не нарушает работу функции восстановления системных файлов командой SFC /scannow.

 К содержанию


Файл Addon.nfo


Addon.nfo обязателен для всех аддонов в целях удобства пользователей. Стандартная структура файла Addon.nfo:

Название аддона и версия программы, для которой делается аддон: Аддон (Аддон-конструктор) Example 3.1.1.2

Дата создания аддона: 01.01.2008

Версия аддона: v 0.8

Тип интеграции аддона: SVCPACK.inf

Требуемые компоненты: аддон 3rdParty

Краткое описание: Эту замечательную програмку испробовали многие пользователи по всему свету. Вот я и решил сделать небольшой аддончик.

Сайт производителя программы: www.site.org

Сайт\ветка аддона. forum.oszone.ru/example

Автор аддона: Author_name

Итого имеем:

Addon.nfo

Аддон (Аддон-конструктор) Example 3.1.1.2

Дата создания аддона: 01.01.2008

Версия аддона: v 0.8 

Тип интеграции аддона: SVCPACK.inf

Требуемые компоненты: аддон 3rdParty

Эту замечательную програмку испробовали многие пользователи по всему свету.

Вот я и решил сделать небольшой аддончик.

Сайт производителя программы:www.site.org

Ветка аддона в форуме OSzone: forum.oszone.ru/example

Автор аддона: Author_name

 К содержанию



А. Требования к оборудованию


Требования к аппаратному обеспечению сервера:

Компьютер с процессором Pentium или Pentium II 166 МГц (рекомендуется процессор 200 МГц или более производительный).
Не менее 32 Мб ОЗУ. Если установлены такие дополнительные службы, как Active Directory, DHCP и DNS, то требуется не менее 128 Мб ОЗУ.
Жесткий диск объемом не менее 2 Гб, выделенный для дерева каталогов служб удаленной установки.
Сетевой адаптер, поддерживающий скорость 10 или 100 Мбит/с (рекомендуется 100 Мбит/с).

Примечание. Для установки RIS требуется отдельный (не загрузочный) раздел жесткого диска. С учетом того, что на сервере размещаются образы операционной системы, может потребоваться выделение отдельного жесткого диска для дерева каталогов RIS.

Требования к аппаратному обеспечению клиентских компьютеров:

Компьютер с процессором Pentium 166 МГц или более производительным.
Не менее 32 Мб ОЗУ.
Жесткий диск объемом не менее 800 Мб.
Сетевой адаптер PCI с поддержкой Plug and Play. В «Приложении Б» Вы найдете список сетевых адаптеров, которые поддерживает загрузочный диск RIS.
Необязательно: загрузочное ПЗУ PXE версии .99c или более новой версии.

Наверх страницы



Б: Часто Задаваемые Вопросы.


Как узнать, поддерживает ли версия моего ПЗУ процесс PXE?

При загрузке клиентского компьютера, поддерживающего стандарт NetPC или клиентского компьютера, имеющего ПЗУ удаленной загрузки, на экране отображается сообщение PXE (LSA) ПЗУ. Вы можете увидеть версию ПЗУ PXE во время загрузки на клиентской машине. RIS Windows 2000 поддерживают версию ПЗУ PXE .99c и выше. Если Вы не добились успеха с имеющейся версией ПЗУ, Вы можете обратиться за новой версией к производителю Вашего оборудования.

Как я могу узнать, что клиентский компьютер получил IP-адрес и подключился к Серверу удаленной установки?

При загрузке компьютера, начинает загружаться и инициироваться Загрузочное ПЗУ PXE. Последовательность из следующих четырех шагов выполняется на большинстве компьютеров с поддержкой стандарта Net PC или на компьютерах с PXE ПЗУ. (Примечание: на вашем компьютере последовательность может выполняться иначе)

Шаг 1: Клиентский компьютер показывает сообщение BootP. Это сообщение указывает, что клиент получил IP-адрес от сервера DHCP.

Устранение неполадок: Если компьютер не отображает сообщение BootP, это означает, что клиент не получил IP-адреса. Проверьте следующее:

Доступен ли сервер DHCP, и запущена ли на нем соответствующая служба? Серверы DHCP и RIS должны быть авторизованы в Active Directory, чтобы их службы смогли запуститься. Проверьте, что служба запущена, и что при локальной загрузке другие клиенты получают IP-адреса в этом сегменте.

Могут ли другие клиентские компьютеры (с локальной загрузкой) получать IP-адреса в этом сегменте сети?

Определена ли область IP-адресов сервера DHCP и активирована ли она? Чтобы проверить это нажмите Пуск (Start), выберите Программы (Programs), выберите Администрирование (Administrative Tools) и нажмите DHCP.

Нажмите Пуск (Start), выберите Программы (Programs), выберите Администрирование (Administrative Tools), нажмите Просмотр событий (Event Viewer). Есть ли в журнале «Система» сообщения об ошибках DHCP?

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


Шаг 2: Когда клиент получает IP- адрес от сервера DHCP, сообщение на экране меняется на DHCP. Это означает, что клиент успешно арендовал IP-адрес и теперь ожидает подключения к Серверу удаленной установки.

Устранение неполадок: Если компьютер не загружается дальше сообщения DHCP, это означает, что клиент не получил ответа от сервера удаленной установки. Проверьте следующее:

Доступен ли сервер удаленной установки и запущена ли служба RIS (BINLSVC)? Серверы RIS должны быть авторизованы в Active Directory, чтобы их службы смогли запуститься. Чтобы убедиться, что служба запущена, используйте оснастку DHCP (Нажмите Пуск (Start), выберите Программы (Programs), выберите Администрирование (Administrative Tools) и нажмите DHCP).

Могут ли другие компьютеры с возможностью удаленной загрузки запустить Мастер установки клиентов? Если это так, то не исключено, что данный компьютер не поддерживает удаленную загрузку или имеет проблемы, связанные с ПЗУ удаленной загрузки.

Не расположен ли между клиентским компьютером и сервером удаленной установки маршрутизатор, который блокирует проходящие через него запросы или ответы DHCP? Если клиент RIS и сервер RIS находятся в разных подсетях, маршрутизатор между подсетями должен быть настроен на пересылку пакетов DHCP от сервера RIS. Это необходимо потому, что клиенты RIS обнаруживают сервер RIS, используя широковещательные сообщения DHCP. Без настроенной пересылки DHCP на маршрутизаторе, широковещательные сообщения DHCP клиентов никогда не достигнут сервера RIS. Процесс перенаправления DHCP в ряде случае называется DHCP Proxy или IP Helper Address в руководстве по настройке маршрутизатора. Пожалуйста, обратитесь к инструкциям по настройке перенаправления DHCP на Вашем маршрутизаторе.

Нажмите Пуск (Start), выберите Программы (Programs), выберите Администрирование (Administrative Tools) и нажмите Просмотр событий (Event Viewer). Имеются ли в журналах «Система» (System) или «Приложения» (Application) сообщения об ошибках связанных с RIS (BINLSVC), DNS, или Active Directory?



Шаг 3: Клиент изменяет сообщение на BINL или предлагает пользователю нажать клавишу F12. Это означает, что клиент подключился к серверу RIS и ожидает получения по протоколу TFTP первого файла образа - OSChooser. Вы можете не увидеть сообщений BINL и TFTP на некоторых компьютерах, так как последовательность загрузки происходит слишком быстро.

Устранение неполадок: Если клиентский компьютер не получает ответа от сервера удаленной установки, после истечения определенного времени клиент выводит сообщение об ошибке, извещающее о том, что он не получил файл от DHCP либо BINL или TFTP. В этом случае сервер RIS не ответил клиентскому компьютеру.

Перезапустите службу BINLSVC. Нажмите Пуск (Start), нажмите Выполнить (Run) и наберите CMD. Введите следующие команды:

Net Stop BINLSVC

Net Start BINLSVC

Если клиентский компьютер не получает ответ после остановки и перезапуска этой службы, проверьте настройки Сервера удаленной установки. Чтобы убедиться в корректности настроек, удостоверьтесь в том, что RIS настроены «Отвечать на запросы компьютеров» ("Respond to client computers requesting service"), и «Не отвечать на запросы неизвестных компьютеров» ("Do not respond to unknown client computers"). Нажмите Пуск (Start), выберите Программы (Programs), выберите Администрирование (Administrative Tools) и нажмите Просмотр событий (Event Viewer) для проверки журнала событий сервера RIS на наличие ошибок связанных с DHCP, DNS, или RIS (BINLSVC).

Шаг 4: С этого момента на клиентский компьютер должен быть загружен мастер установки клиентов и выведен экран с сообщением, приветствующим пользователя.

Поддерживают ли RIS удаленную установку Windows 2000 Server с плоских образов или образов RIPrep?

Нет. RIS не поддерживают удаленную установку Windows 2000 Server.

Поддерживают ли RIS удаленную установку с образов ОС (плоских образов или образов RIPrep) на ноутбуки?

И да и нет. RIS тестировались на ноутбуках со стыковочными узлами, которые поддерживают необходимое ПЗУ PXE.


Ноутбуки должны быть подключены к стыковочному узлу, с сетевым кабелем, подключенным к сетевой карте на стыковочном узле.

RIS не поддерживают ноутбуки, оборудованные сетевыми картами PC Card или PCMCIA, с поддержкой ПЗУ PXE.

Является ли безопасной предзагрузочная часть программы ПЗУ PXE удаленной загрузки?

Нет. Вся последовательность загрузки, установки и репликации ОС не является защищенной с точки зрения шифрования типа пакета, нарушения подлинности клиента или сервера, либо от механизмов прослушивания сети. Поэтому будьте внимательны при использовании серверов RIS в Вашей корпоративной сети. Убедитесь, что в сети разрешены только авторизованные сервера RIS. Необходимо также контролировать число администраторов, которым разрешено устанавливать и настраивать сервера RIS.

Можно ли реплицировать образы RIPrep на альтернативные носители, такие как DVD, CD, и / или Zip-диски?

Нет. Реализация такой возможности рассматривается для следующей версии RIS.

Поддерживает ли функция RIPrep различия в оборудовании между компьютером-источником, используемым для создания предварительно подготовленного образа, и целевым компьютером, на который будет установлен образ?

Да. Оборудование исходного и целевого компьютеров может различаться. Исключение составляют драйвера Уровня аппаратных абстракций (Hardware Abstraction layer (HAL)). Например, если исходный компьютер поддерживает стандарт ACPI, он использует соответствующий драйвер ACPI HAL. Если Вы попытаетесь установить образ, предварительно подготовленный на таком компьютере, на компьютер, не поддерживающий стандарт ACPI, установка будет неудачной.

Поддерживает ли мастер подготовки удаленной установки (RIPrep) работу с несколькими дисками или с несколькими разделами на клиентском компьютере?

Нет. Данная версия утилиты Подготовки удаленной установки (RIPrep) поддерживает только единственный диск с одним разделом (диск C:).

Как будет работать мастер подготовки удаленной установки RIPrep в случае если диски исходного и целевого компьютеров имеют разный размер?



Размер диска целевого компьютера должен быть не меньше, чем размер исходного диска, использованного для создания образа.

Как я могу реплицировать все образы ОС с одного сервера RIS на другой сервер в сети, для согласованной установки ОС на всех клиентских компьютерах?

В настоящий момент RIS не предоставляет механизма репликации образов ОС с одного сервера RIS на другой. Существует несколько способов решения этой проблемы. Например, можно задействовать преимущества функций репликации продукта Microsoft Systems Management Server. Данный продукт предоставляет возможности репликации по расписанию, сжатия, и работы по медленным каналам. Вы также можете использовать решения сторонних производителей для репликации образов ОС. Убедитесь в том, что механизм репликации сохраняет атрибуты файлов и параметры безопасности исходных образов.

Могу ли я одновременно использовать в сети сервер RIS и сервер удаленной загрузки стороннего производителя? Если да, то какие у этого могут быть последствия?

Да. Вы можете использовать серверы удаленной загрузки и установки (Remote Boot/Installation, RB/RI) различных производителей в одной сети. Обратите внимание, что в настоящий момент программа удаленной загрузки PXE не различает серверы RB/RI разных производителей. Поэтому когда компьютер с поддержкой удаленной загрузки включается и запрашивает IP-адрес сервера RB/RI, он получит ответ от всех доступных серверов. Таким образом, нельзя гарантировать, что клиентский компьютер будет обслужен определенным сервером RB/RI.

RIS предоставляет администраторам возможность предварительно настраивать учетные записи компьютеров в Active Directory и назначать желаемый сервер RIS для обслуживания определенного клиентского компьютера. Настроив сервер RIS для ответа только известным компьютерам (предварительно настроенным) администраторы обеспечивают обслуживание клиента требуемым сервером RIS. Не все серверы RB/RI сторонних производителей поддерживают возможность игнорирования запросов на обслуживание.


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

Могу ли я удаленно управлять сервером RIS по сети с рабочей станции под управлением Windows 2000 Professional?

Да. Если Вы администратор домена, и на компьютере установлен Пакет средств администрирования, Вы можете администрировать большинство параметров RIS. Однако некоторыми параметрами Вы все же не сможете управлять. Например, Вы не можете удаленно добавлять дополнительные образы ОС на сервер RIS с рабочей станции под управлением Windows 2000.

Могу ли я добавить поддержку дополнительных сетевых карт в загрузочную дискету RIS?

Нет. Утилита RBFG.exe данной версии RIS содержит фиксированный код поддержки сетевых карт. Со временем, Microsoft будет добавлять поддержу дополнительных сетевых карт. Обновления утилиты RBFG.exe будут доступны традиционными способами: через Интернет, службу Windows Update, а также в составе будущих пакетов обновлений.

Могу ли я, при создании формата имени, использовать атрибуты объектов Active Directory для совместного использования вместе с функцией автоматического присвоения имен компьютеров в службах удаленной установки?

Нет. Существующие атрибуты, поддерживаемые средствами автоматического присвоения имен компьютеров, используют Active Directory. Однако, в настоящий момент, поддерживаются не все атрибуты Active Directory. Возможно, такая поддержка будет включена в следующую версию RIS.

Где я могу просмотреть GUID/UUID клиентских компьютеров для предустановленных клиентов в Active Directory для использования с RIS?

В большинстве случаев значение GUID/UUID клиентских компьютеров, соответствующих стандартам PC98 или Net PC, можно найти в системном BIOS. OEM производители предоставляют дискету с файлом, использующим в качестве разделителя запятые, или с электронной таблицей для сопоставления серийных номеров с GUID/UUID. Это позволяет Вам написать сценарий предварительной настройки учетной записи компьютера в Active Directory.Также OEM производители указывают GUID/UUID на корпусе компьютера для упрощения идентификации и предварительной настройки учетных записей компьютеров. Если Вам не удалось обнаружить GUID в упомянутых местах, Вы можете прослушать сетевой трафик клиента, найти пакет DHCP Discover и в нем поле содержащее 128 бит (32 байта) кода GUID/UUID.


Б. Сетевые адаптеры, которые поддерживает загрузочный диск RIS


Ниже приводится список сетевых адаптеров, которые поддерживает загрузочный диск RIS. Служебную программу для создания загрузочного диска RIS (Rbfg.exe) можно найти в папке \Admin\i386\Remoteinstall.



Приложения


В этом разделе мы расскажем, как устанавливать приложения автоматически (без участия пользователя). На страницах раздела вы увидите различные команды для пакетных файлов, которые вы сможете добавить в свои пакетные файлы, запускаемые из [GuiRunOnce]. Вы можете посмотреть, как это сделано, у меня на странице Примеры в файле start.cmd. Эти же команды после небольших модификаций можно использовать и для способа RunOnceEx.



Приложения, использующие кавычки


Вы заметите, что при добавлении дополнительных кавычек (" ") к значениям REG ADD, эти значения не импортируются в реестр. Чтобы обойти это препятствие используйте обратную косую черту (backslash) \" для каждых кавычек, которые вы добавляете. Пример:

%KEY%\%i% /V 1 /D "\"%systemdrive%\install\AdobeReader6\Adobe Reader 6.msi\" /qn" /f

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



В Феврале Microsoft выпустила обновление


В Феврале Microsoft выпустила обновление KB885250, которое не интегрируется при помощи ключа /integrate, если в дистрибутив уже интегрировано обновление KB885835 (и наоборот). Возможно, со временем Microsoft исправит эту проблему, а пока используйте обходной путь, который описан в этой теме на конференции OSZone.
Автор: Вадим Стеркин aka Vadikan

Иcточник: unattended.oszone.net

Наши форумы
Опубликована- 23.02.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.
Распечатано 09.04.05


Спроeктировала и разработала сайт Ginger

В моем распоряжении находилась версия


В моем распоряжении находилась версия Office 2003, лицензированная моим университетом. Названия файлов несколько отличались от описанных в руководстве, и для создания точки административной установки я использовал файл Setuppro.exe. Это было несложно вычислить, однако с первой попытки этот файл не сработал. Ниже я объясню почему, и возможно вам надо будет перечитать Этап 3, где ведется речь об MST файлах. Моя версия была до определенной степени сконфигурирована и уже содержала MST файл (откуда я кстати извлек ключ продукта). При попытке запустить Setuppro.exe /а я получал сообщение об ошибке. Пришлось подойти к проблеме основательно ;-) В итоге я нашел файл setup.ini в директории Files\Setup. В этом файле была прописана строка, указывающая на уже существующий MST файл.
[MST]

; The MST section gives the full path to a transform that should be applied.

MST1=IU.MST

;MST1=D:\transforms\my transform.mst
После ее удаления (ставится ; в начале строки) все заработало, и мне удалось запустить административную установку. Возможно, данная информация поможет тем, у кого сходу не получился запуск setup.exe /a.
Вернуться к тексту ^


В Феврале Microsoft выпустила обновление KB885250, с которым, насколько мне известно, не справляется nLite, если в дистрибутив уже интегрировано обновление KB885835 (и наоборот). Возможно, со временем Microsoft исправит эту проблему. Я, честно говоря, nLite не пользуюсь, и рекомендую интегрировать обновления вручную при помощи ключа /integrate. Такой подход позволяет использовать обходной путь, который описан в этой теме на конференции OSZone.
Автор: Вадим Стеркин aka Vadikan

Иcточник: (переведено с английского) unattended.msfn.org

Наши форумы
Опубликована- 23.02.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.
Распечатано 09.04.05


Спроeктировала и разработала сайт Ginger

Честно говоря, я комфортнее себя чувствую с английскими меню, и установка MUI проделывается исключительно ради эксперимента. При тестировании у меня английский так и остался языком по умолчанию для интерфейса Office 2003, и пришлось включать русский язык в Office Language Settings:

Дополнительные эксперименты на чистой инсталляции XP EN подтвердили, что если устанавливать сначала Office, а потом MUI, то при первом запуске приложения Office так и остаются на английском языке. Иными словами, язык Office по умолчанию соответствует языку ОС даже после установки Office MUI. Вероятно, локализованные ОС (или английские с установленным Windows MUI) такой проблеме не подвержены.
Автор: Вадим Стеркин aka Vadikan

Иcточник: unattended.oszone.net

Наши форумы
Опубликована- 26.02.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.
Распечатано 09.04.05


Спроeктировала и разработала сайт Ginger

В процессе работы с RIS-установкой возможно возникновение проблем с определением драйверов сетевой карты на текстовом этапе установки, а именно: при корректном подключении к RIS-серверу посредством PXE на текстовом этапе выдается сообщение о не найденных драйверах сетевой карты. Соответственно установка прекращается. Проблема решается достаточно просто и изящно - необходимо *.inf и *.sys файлы проблемных карт скопировать в корень папки i386, после чего перезапустить службу службу уровня согласования информации загрузки (Boot Information Negotiation Layer, BINL). net stop binlsvc

net start binlsvc За дополнительной информацией обратитесь к KB254078.
Корпорация Мicrosoft выпустила исправление, позволяющее программе Riprep.exe поддерживать создание и развертывание образов Windows XP на сервере Windows 2000 RIS. Загрузить обновление можно с этой страницы.
Автор: Akufrol

Опубликована - 04.05.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.
Распечатано 07.05.05


Спроeктировала и разработала сайт Ginger

Не рекомендуется использование программ WinISO,


Не рекомендуется использование программ WinISO, UltraISO и аналогичных им для редактирования ISO образа, т.к. существует риск повредить образ.
На сайте MSFN используется GUI версия CDImage. Фактически, это тот же самый CDImage, "обернутый" в графическую оболочку. Конечный результат не зависит от используемой версии. Я уже привык к утилите, работающей из командной строки, и на GUI переходить не спешу. Поэтому статья MSFN о GUI CDImage не входит в число приоритетных обновлений моего сайта. Изучите ее самостоятельно, если есть желание.
Автор: Вадим Стеркин aka Vadikan

Иcточник: (частично переведено с английского) unattended.msfn.org

Наши форумы
Опубликована- 24.02.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.
Распечатано 09.04.05


Спроeктировала и разработала сайт Ginger

Этот метод не работает для установки RAID, SATA и SCSI драйверов.
Утилита WatchDriverSigningPolicy.exe, иногда не срабатывает и появляется диалог о неподписанности драйвера.
Если вы используете мультизагрузочный диск (с несколькими дистрибутивами), то при добавлении драйверов у вас не должно быть пробелов в SourcePath (название каталога, расположенного в корне носителя и содержащего дистрибутив). Например, не будет работать:
CD:\XP Pro\$OEM$\Drivers\nVidia ForceWare 77.72\
Замените пробел в XP Pro на какой-нибудь символ и
CD:\XP-Pro_A\$OEM$\Drivers\nVidia ForceWare 77.72\
будет работать.
Вы можете спокойно подправить файл Drivers.cmd под свои нужды (поменять пути, названия файлов и т.д.). Если вы не хотите держать файлы Drivers.cmd, nircmd.exe, Process.exe, SetupCopyOEMInf.exe, WatchDriverSigningPolicy.exe в корне директории $OEM$, то можно переместить их, например, в каталог $OEM$\Drv. В таком случае внутри этой папки нужно создать еще одну папку Drivers, в которой будут лежать незапакованные драйверы и не забыть поменять путь до файла Drivers.cmd
в файле winnt.sif в строке Arguments: (%I$OEM$) на (%I$OEM$\Drv).
Автор: Вадим Стеркин aka Vadikan, EgOrus

Иcточник: unattended.oszone.net

Наши форумы
Опубликована- 01.03.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.
Распечатано 09.04.05


Спроeктировала и разработала сайт Ginger

Я использовал переменную %cdrom% в командах для установки приложений с CD. WPI умеет назначать переменную %cdrom% самостоятельно, действуя по следующему принципу. Проверяются все диски с типом cdrom на наличие файла WIN51. Если таковой находится, то переменной назначается соответствующая буква, в противном случае считается текущий полный путь файла wpi.hta, и поднимается по папкам до корня диска. Если и там нет файла WIN51, то переменная %cdrom% берется из ключа реестра HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Setup\\SourcePath. В старой версии были, впрочем, и грабли, на которые наступили и я и EgOrus - %cdrom% в командах нельзя писать заглавными буквами. Иными словами, WPI не поняла %CDROM%. Насчет других переменных я не проверял, но думаю, что и %systemdrive% тоже лучше заглавными не писать. С тех пор с регистром букв переменных я не экспериментировал.
Преимущества: красивый графический интерфейс; выбор желаемых приложений и запуск их всех одной кнопкой; выбор приложений по умолчанию; запуск WPI с уже выбранными приложениями по умолчанию; "насильственная" установка приложений, даже если пользователь выходит из программы; возможность группировать приложений по категориям и устанавливать порядок установки приложений; экспортирование ключей реестра до или после установки приложений; таймер.
Недостатки: некорректная работа с разрешением 1152х864 (и возможно с другими). Других не замечено. Лично мне теперь трудно себя заставить попробовать другие программы :)

Применение твиков реестра ко всем учетным записям после установки ОС


Применить твики реестра ко всем пользователям проще всего во время установки системы, поскольку изменения вносятся в профиль Default User, который служит основой для создаваемых впоследствии профилей пользователей (см. статью Tвики реестра). Однако нередко бывает так, что уже после установки системы необходимо внести изменения в настройки имеющихся в системе пользователей, т. е. для каждого пользователя изменить параметры раздела HKCU. Поскольку этот раздел всегда отражает настройки текущего пользователя, изменяя его параметры, можно добиться только изменений в настройках собственной учетной записи. А как быть с остальными пользователями? Эта задача решается путем загрузки пользовательского куста реестра и внесения в него изменений из-под учетной записи, обладающей правами администратора. В зависимости от ситуации можно выполнить изменения как вручную, так и автоматически при помощи пакетного файла. Ниже рассматриваются оба способа.



Создание аддона из утилиты Netlook (для новичков).


Для примера я выбрал программу Netlook. Причина заключается в желании совместить приятное с полезным - такого аддона еще нет, программка не очень большая, записей в реестр не делает (то есть практически переносная), и лично мне пригодится. Сознательно не использовались средства автоматизации создания аддона (смотрите во втором примере), чтобы пример был более наглядным. Аддон можно скачать здесь и подробно изучить.

Этап один.

После изучения структуры самой программки, я скопировал ее в отдельную папку для экспериментов и распотрошил, извлек все файлы в одну папку. Их оказалось 32 штуки. Наступило время создать собственно INF-файл. Сначала создаем заголовок.

[Version]

Signature = "$WINDOWS NT$"

SetupClass = BASE

$WINDOWS NT$ стоит использовать вместо $CHICAGO$, мы же не делаем аддон для win95? Кроме указания на базовый класс установки больше в заголовке ничего не пишем, пока и не нужно. Затем создаем самую главную секцию нашего INF-файла - исполняемую:

[DefaultInstall]

CopyFiles = CopyMain, CopyConfig, CopyHelp, CopyHist, CopyLang, CopySkin, CopySound, CopyTools, CopyInf, RenToolsLang

ProfileItems = NL.AddShortcut

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

Разбираем по строчкам: CopyFiles копирует файлы, попутно создавая нужные папки, ProfileItems добавляет ярлык программы. В моем случае (хороший стиль написания INF-файла) я воспользовался уже кем-то созданной папкой по адресу Пуск\Все программы\Утилиты. На первый взгляд все выглядит просто. Но, для того чтобы создать секции копирования, которые так красиво смотрятся в строке CopyFiles=, придется попотеть-  создать все эти секции с перечислением файлов вручную. Вам никто не мешает проявить смекалку и, используя специальные утилитки, получить на руки в текстовом виде список файлов из папки куда вы их "распотрошили". Секции я поименовал в соответствии с названием папок аддона Copymain - корневая и т. д. Далее прописываем будущую структуру папок в секции [DestinationDirs].
Не буду вас утомлять и просто приведу ее:
[DestinationDirs]

CopyMain=16422, "Netlook"

CopyConfig=16422, "Netlook\Config"

CopyHelp=16422,"Netlook\Help"

CopyLang=16422,"Netlook\Languages"

CopySkin=16422,"Netlook\Skin"

CopySound=16422,"Netlook\Sound"

CopyTools=16422,"Netlook\Tools\Configurator"

RenToolsLang=16422,"Netlook\Tools\Configurator\Languages"
Здесь я поясню, почему так называется последняя секция. Оказалось, что создатель программы Netlook ничего не слышал про хороший стиль программирования и присвоил двум файлам в своей программе одинаковое имя. Вот и пришлось один из них переименовать (файлы-то лежат вместе), с тем чтобы далее, в секции [RenToolsLang] при копировании в отдельную папку, вернуть все обратно. 
[RenToolsLang]

"russian.lng",russian2.lng,,4
И последняя секция, указывающая, откуда копировать [SourceDisksNames]. Я запаковал все файлы из одной папки в CAB-архив с гордым именем netlook.cab и прописал его в INF-файле:
[SourceDisksNames]

1="NetLook Files","netlook.cab",0
Создал секцию добавления ярлыка: 
[NL.AddShortcut]

Name= "Netlook 2.3"

CmdLine= 16422,"Netlook",NetLook.exe

WorkingDir= 16422,"Netlook"

SubDir= "Утилиты"

Infotip= "Netlook 2.3"
Второй этап.


Поместив INF- и CAB-файлы рядом, я проверил, как устанавливается приложение. Хорошо устанавливается, клещами не вытянешь. На этом этапе мы и будем изобретать клещи - секции для удаления нашего приложения (uninstall). Сразу скажу, мне это далось нелегко. В теории (учебнике по INF-файлам) все выглядело просто. Указав в исполняемой секции AddReg= Секция добавления строк в реестр мы еще при установке приложения добавляем его в список установки/удаления программ. Сама секция незамысловата и подробно описана в Учебнике. Самая важная строка это

HKLM,"%Key%","DisplayName",,"Netlook 2.3"



HKLM,"%Key%","DisiplayIcon",,"16422,"Netlook",0"

HKLM,"%Key%","UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx %17%\netlook.inf,NL.Uninstall"
нижняя запись, которая указывает, какую секцию выполнить в INF- файле при удалении программы. Наблюдательный человек сразу заметит, что путь к netlook.inf необычный, %17% = Windows\INF\. Для корректной отработки нам необходимо скопировать наш файл именно в эту директорию. Добавляем секции копирования  
[CopyInf]

netlook.inf
и добавляем в
[DestinationDirs]

CopyInf=17 (Знаки процента в этой секции использовать нельзя) 
Собственно секция, которая отвечает за удаление, должна выглядеть так: удаление файлов, удаление директорий, удаление записей в реестре, удаление ярлыков программы. У вас, наверняка, как и у меня, сразу мелькнула мысль: "А может просто удалить всю папку с файлами и подпапками и дело с концом?". Сразу огорчу -  не получилось. Оговорюсь, что не получилось достичь этого методами, описанными в учебнике. Есть гораздо более действенные способы. См. Приложение 2. Тонкости использования INF файлов. По итогам консультаций на форуме пришлось создавать отдельные секции удаления файлов (по сути дублирование секций COPY). Зато результат был налицо - файлы удалялись. Дальше я создал секции удаления записей в реестре (чтобы сразу после удаления программы она исчезала из списка удаления программ), удаления ярлыка и удаления директорий. Все работало замечательно. Огорчало только, то что директории не удалялись. Учебник однозначно говорит, что вызвать DelDirs проще простого:
1) Вызвать из секции деинсталяции 
Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\netlook.inf"",NL.DD,4" 
2) Затем указать в секции саму команду 
[NL.DD]

DelDirs=dirs
3) И уже в секции [dir] указать директорию, которую необходимо удалить. Не буду вас мучать, мне помогли добрые люди на форуме и средства автоматизации создания аддонов, которые мы решили здесь не рассматривать.


Оказалось, что во- первых DelDirs необходимо запускать только через RunPostSetupCommands, т. к. команда Run, которую я упорно использовал, принадлежит setupapi.dll, а DelDirs запускается через advapi.dll; во-вторых, необходимо было удалить всю структуру папок снизу. Только после этого мой скрипт заработал так, как надо.
Секции деинсталяции аддона: 
[NL.Uninstall]

DelFiles=DelCopyMain, DelCopyConfig, DelCopyHelp, DelCopyHist, DelCopyLang, DelCopySkin, DelCopySound, DelCopyTools, DelCopyInf, DelRenToolsLang

DelReg=Dreg

ProfileItems = ShortcutD

RunPostSetupCommands=NL.AdinfCall
[NL.AdinfCall]

Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\netlook.inf"",NL.DD,4"
[NL.DD]

DelDirs=dirs
[dirs]

"%16422%\Netlook\Tools\Configurator\Languages"

"%16422%\Netlook\Tools\Configurator"

"%16422%\Netlook\Tools"

"%16422%\Netlook\Sound"

"%16422%\Netlook\Skin"

"%16422%\Netlook\Languages"

"%16422%\Netlook\Help"

"%16422%\Netlook\Config"

"%16422%\Netlook"
[Dreg]

HKLM,"%Key%"
[ShortcutD]

Name  = "Netlook 2.3",0x00000002

SubDir  = "Утилиты" 
Этап третий.


Создание собственно аддона. Все, что мы делали ранее, это создание собственного инсталлятора для программы. Инсталлятор готов, можно использовать его на здоровье. Вспомним структуру аддонов и приступим. Копируем откуда-нибудь скелет аддона. Сразу же присваиваем главной папке аддона собственное имя, правим файл Addon.nfo, где пишем информацию, которую все равно никто не будет читать. Копируем в папку Files\Forcecopy CAB- и INF-файлы. Оттуда их проинтегрирует в i386 скрипт Petya V4sechkin.
Важно! Поскольку мы все делаем вручную, надо проверить папку i386 на предмет совпадений с нашими файлами, чтобы не перезаписать что-нибудь важное или просто принадлежащее системе. В любом случае при совпадениях имен система копирует свой родной файл из дистрибутива, а не "чужой".


К счастью, я нашел только нечто с именем NETLOOP.inf.
Теперь нам необходимо создать в корневой папке аддона три файла. Начнем по порядку. Сначала наш аддон будет скопирован из дистрибутива посредством Txtsetup.sif при помощи Dosnet.inf и только позднее будет обнаружен и установлен через Sysoc.inf. В такой последовательности я и предлагаю создавать файлы, не забывая о том, что в UpdatePack эти файлы без расширений. Здесь же в приложениях есть статья про Txtsetup. Поверьте, совсем не лишняя в багаже знаний.
Txtsetup 
[SourceDisksFiles]

Netlook.inf = 100,,,,,,,20,0,0

Netlook.cab = 100,,,,,,_x,,3,3
При установке INF-файл копируется в Windows\INF\, а CAB-архив не копируется, так как это наш дистрибутив.
Dosnet
[Files]

d1,Netlook.inf

d1,Netlook.cab

*здесь d1 это папка i386.
Ну и собственно,
Sysoc
Netlook=ocgen.dll,OcEntry,Netlook.inf,,7
Вроде бы все готово. Однако если подумать, то в файле Txtsetup мы не скопировали наш CAB-файл. Обязательно надо переделать секцию, указывающую на источник копирования, чтобы сообщить программе установки, где искать CAB-файл. 
[SourceDisksNames]

1="Netlook Files","netlook.cab",,"I386"
Но еще не все! Я, как и все новички, споткнулся на файле Sysoc. Запись Netlook=ocgen.dll,OcEntry,Netlook.inf,,7 означает, что будет исполнена секция [netlook] в файле netlook.inf. А моя исполняемая секция называлась DefaultInstall. Естественно, ничего не установилось. Кроме того, необходимо добавить в наш установочный файл секцию, указывающую Sysoc на то, что это "его" компонент, и команду для автоустановки аддона: 
[Optional Components]

Netlook    (указатель для sysoc на исполняемую секцию)

.....

[Netlook]

...

Modes=0,1,2,3
Также, после проверки работоспособности установщика удаляются записи о копировании INF-файла, так как Txtsetup.sif скопирует его самостоятельно.
Теперь аддон готов к интеграции в дистрибутив. Интегрируем, проверяем аддон, проверяем журнал событий и выполняем qfecheck, чтобы проверить отсутствие ошибок.
 К содержанию

учебный аддон Puntoswitcher (от jameszero)


Текст автора сохранен. Перед разбором примера скачайте исходники .

Перед прочтением данного материала настоятельно рекомендуется ознакомиться с Руководством по работе с INF-файлами. В нём вы найдёте ответы на большинство возникающих вопросов.

Разберём пример создания аддона Punto Switcher (в дальшейшем PS). Я выбрал его для рассмотрения потому, что несмотря небольшой объём аддона, в нём присутствуют как секции копирования/деинсталляции файлов, так и секции добавления/удаления записей в реестр, ярлыков, регистрация/дерегистрация библиотек. Этих знаний вполне достаточно для изготовления 90% аддонов.

Проведение предварительной подготовки аддона доверим скрипту для создания секций копирования/удаления  от XXXler. Создаём пустую папку, в которой хотим получить аддон. Назовём её, к примеру, Punto_sw. Запустив скрипт, выбираем в качестве исходной папку с файлами PS и заполняем поля:

- Корневая папка – путь, куда будет установлена программа, в данном случае Program Files (перед ней стоит её цифровое обозначение согласно dirids)

- Подкаталог – папка, которая будет создана в Program Files (C:\Program Files\Punto Switcher\)

- Название – имя программы в «Установке компонентов Windows»

- Подсказка – дополнительная информация при выборе программы в «Установке компонентов Windows»

- Иконка – иконка, которая будет отображена возле программы в «Установке компонентов Windows»

- Имя секции – идентификатор программы в системе (рекомендуемое имя до 8-и символов)

Нажимаем «Cоздать» и выбираем созданную на первом этапе папку Punto_sw. Ждём пару секунд, пока не откроется созданный INF-файл для дальнейшей, уже ручной, работы с ним.

Дальнейшая работа производится в любом текстовом редакторе.

1. Секция [punto_sw] приводится к следующему виду 

[punto_sw]

OptionDesc="Punto Switcher"

Tip="Переключатель раскладок"

Modes=0,1,2,3

CopyFiles=punto_sw.Copy

;AddReg=Секции добавления в реестр



;DelReg =

;UnRegisterDlls=Секции регистрации библиотек

;ProfileItems=Секции создания ярлыков

SizeApproximation=502755

Uninstall=punto_sw.Uninstall
RegisterDlls меняем на UnRegisterDlls и добавляем DelReg (об этом ниже).
2. Приступаем к секции внесения записей в реестр.
Оговорюсь сразу, что разделы реестра, которые необходимо учитывать при изготовлении конкретного аддона, можно определить несколькими способами. Существуют специализированные программы для отслеживания обращения к реестру, но в данном материале я не буду заострять на этом внимание.
Все настройки программы хранятся по пути HKCU,"Software\Punto Switcher\2.5". Автозапуск PS происходит из HKCU,"Software\Microsoft\Windows\CurrentVersion\Run". Необходимо настроить установленный PS по своему усмотрению, экспортировать вышеназванные ветки реестра и конвертировать их в INF-формат (на этом останавливаться не будем, необходимая информация есть в шапке темы Авторам аддонов.
Возвращаемся к INF-файлу аддона. В его секции [punto_sw] находим строчку ;AddReg=Секции добавления в реестр. Снимаем комментарий «;» и присваиваем ей значение, например, punto_sw.AddReg (значение может быть любым, точка перед AddReg, как и само буквосочетание AddReg не обязательны, важно чтобы имя было уникальным в листинге INF-файла)
Получаем следующее:
[punto_sw]

OptionDesc="Punto Switcher"

Tip="Переключатель раскладок"

Modes=0,1,2,3

CopyFiles=punto_sw.Copy

AddReg= punto_sw.AddReg

;DelReg =

;UnRegisterDlls=Секции регистрации библиотек

;ProfileItems=Секции создания ярлыков

SizeApproximation=502755

Uninstall=punto_sw.Uninstall
В дальнейшем, я не буду подробно останавливаться на редактировании строк «шапки» INF-файла. Создаём в INF-файле соответствующую секцию [punto_sw.AddReg] (название её должно совпадать со значением директивы AddReg). Я привожу секцию из реального аддона (у вас она может отличаться в зависимости от ваших настроек программы). 


[punto_sw.AddReg]

HKCU,"Software\Microsoft\Windows\CurrentVersion\Run","Punto Switcher",,"%16422%\Punto Switcher\ps.exe"

HKCU,"Software\Punto Switcher\2.5","Options",1,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\

  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,33,4c,37,44,31,38,63,\

  67,00,00,00,00,56,e8,df,45,00,01,01,00,01,00,00,01,01,01,00,00,00,01,00,00,\

  01,01,00,00,00,00,01,00,00,01,00,01,01,00,00,00,00,01,00,00,00,01,00,00,00,\

  01,00,00,00,00,00,00,2c,01,00,00,2c,01,00,00,64,00,00,00,64,00,00,00,f4,01,\

  00,00,5e,01,00,00,01,01,01,00,00,01,01,00,01,00,00,00,02,00,00,00

HKCU,"Software\Punto Switcher\2.5","Sound_0",,"%16422%\Punto Switcher\typerus.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_1",,"%16422%\Punto Switcher\typeeng.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_2",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_3",,"%16422%\Punto Switcher\misprint.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_4",,"%16422%\Punto Switcher\ru.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_5",,"%16422%\Punto Switcher\en.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_6",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_7",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_8",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_9",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_10",,"%16422%\Punto Switcher\switch.wav"



HKCU,"Software\Punto Switcher\2.5","Sound_11",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_12",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_13",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_14",,"%16422%\Punto Switcher\switch.wav"

HKCU,"Software\Punto Switcher\2.5","Sound_15",,"%16422%\Punto Switcher\replace.wav"

HKCU,"Software\Punto Switcher\2.5","SoundState_0",0x10001,03,00,dc,05

HKCU,"Software\Punto Switcher\2.5","SoundState_1",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_2",0x10001,03,00,c4,09

HKCU,"Software\Punto Switcher\2.5","SoundState_3",0x10001,03,00,bc,02

HKCU,"Software\Punto Switcher\2.5","SoundState_4",0x10001,03,00,e8,03

HKCU,"Software\Punto Switcher\2.5","SoundState_5",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_6",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_7",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_8",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_9",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_10",0x10001,03,00,d0,07

HKCU,"Software\Punto Switcher\2.5","SoundState_11",0x10001,03,00,dc,05

HKCU,"Software\Punto Switcher\2.5","SoundState_12",0x10001,03,00,a4,06

HKCU,"Software\Punto Switcher\2.5","SoundState_13",0x10001,03,00,6c,07

HKCU,"Software\Punto Switcher\2.5","SoundState_14",0x10001,03,00,f4,01

HKCU,"Software\Punto Switcher\2.5","SoundState_15",0x10001,03,00,90,01



HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","msimtf",0x20000,"regsvr32.exe /s /u %11%\msimtf.dll"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","msctf",0x20000,"regsvr32.exe /s /u %11%\Msctf.dll"
О двух последних строчках я расскажу ниже при рассмотрении дерегистрации библиотек. Поскольку PS предназначен для замены стандартного переключателя раскладок клавиатуры, то стандартный (CTFMON.EXE) в автозагрузке нам не нужен. Его запуск в системе происходит через реестр, и эти сточки необходимо удалить. Создаём в «шапке» INF-файла директиву DelReg = CTF.DelReg и пишем в INF-файле: 
[CTF.DelReg]

HKLM,"Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE"

HKCU,"Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE"

HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE"
3. Директива создания ярлыков - ProfileItems
Редактируем её в «шапке» INF-файла таким образом: ProfileItems = punto_sw.AddShortcut. Затем создаём в INF-файле секцию [punto_sw.AddShortcut].
[punto_sw.AddShortcut]

Name  = "Punto Switcher 2.9"

CmdLine  = 16422,"Punto Switcher" ps.exe

SubDir  = "Punto Switcher"

WorkingDir = 16422,"Punto Switcher"
Name – имя ярлыка

CmdLine – путь к исполняемому файлу (строка расшифровывается, как C:\Program Files\ Punto Switcher\ps.exe)

SubDir – подпапка в меню «Программы» (Пуск\Программы\Punto Switcher\) эта строчка может отсутствовать, тогда ярлык будет создан в Пуск\Программы\

WorkingDir – рабочая директория (C:\Program Files\ Punto Switcher\)
Для многих простейших аддонов вышеописанной информации достаточно, но в случае с PS необходимо также рассмотреть дерегистрацию файлов стандартного переключателя раскладок. Если это не выполнить, то CTFMON.EXE будет заново прописан системой в автозагрузку.


4. Дерегистрация библиотек
Создаём в «шапке» строчку UnRegisterDlls = CTF.UnRegister а в INF-файле прописываем:
[CTF.UnRegister]

11,,msimtf.dll

11,,Msctf.dll
Цифра 11, согласно dirids, означает, что файл находится в System32. Если бы файл находился, скажем, в Windows, то строчки выглядели бы таким образом - 10,,msimtf.dll. Возможна ситуация, когда файл находится, например, в Program Files\Prog1\file.dll, в таком случае отмена регистрации выглядела бы так: 16422,Prog1,file.dll
И вернёмся к двум последним строчкам нашей секции AddReg:
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","msimtf",0x20000,"regsvr32.exe /s /u %11%\msimtf.dll"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce","msctf",0x20000,"regsvr32.exe /s /u %11%\Msctf.dll"
Они, по сути, также выполняют дерегистрацию библиотек, но уже после перезагрузки, в данном случае в момент времени Т13. Двойная отмена регистрации необходима только в конкретном аддоне, потому что система регистрирует msimtf.dll и Msctf.dll заново, а в большинстве случаев достаточно однократной дерегистрации.
5. Теперь приступим к секциям деинсталляции аддона.
Для PS недостаточно удалить только файлы – необходимо так же восстановить работу стандартного переключателя раскладок. В процессе удаления будет участвовать секция [punto_sw.Uninstall] и дальше по тексту, теперь её будем именовать «шапкой». Итак, редактируем «шапку» следующим образом:
[punto_sw.Uninstall]

DelFiles  =  punto_sw.Del

ProfileItems =  punto_sw.DelShortcut

DelReg  =  punto_sw.DelReg

AddReg  =  CTFMON.Restore

RegisterDlls = CTF.dll.Restore
С директивой DelFiles понятно – она вызовет соответствующую секцию со списком удаляемых файлов. ProfileItems – удаляет ярлык, но секции удаления ярлыков несколько отличаются от секций создания. Здесь всё просто - достаточно указать имя ярлыка и подпапку, в которой он находится.


Приведу пример удаления того же ярлыка, который мы рассматривали в создании.
[punto_sw.DelShortcut]

Name  = "Punto Switcher 2.9",0x00000002

SubDir  = "Punto Switcher"
Далее в «шапке» INF-файла идут уже знакомые директивы AddReg и DelReg, а так же директива RegisterDlls, которая восстановит регистрацию файлов msimtf.dll и Msctf.dll. Секции будут выглядеть так:
[punto_sw.DelReg]

HKCU,"Software\Microsoft\Windows\CurrentVersion\Run","Punto Switcher"

HKCU,"Software\Punto Switcher"
[CTFMON.Restore]

HKCU,"Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE",,"%11%\ctfmon.exe"

HKU,".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run","CTFMON.EXE",,"%11%\CTFMON.EXE"
[CTF.dll.Restore]

11,,msimtf.dll,1

11,,Msctf.dll,1
Удаление записей реестра, так же как и ярлыков, отличается от добавления в реестр. Необходимо указать только корневой раздел, в данном случае, HKCU,"Software\Punto Switcher", и она будет удалена со всем подразделами. Секцией [CTFMON.Restore] мы восстанавливаем в автозагрузке стандартный переключатель раскладок, а в секции [CTF.dll.Restore] регистрируем связанные с ним библиотеки.
Следущие секции участвуют в деинсталляции аддона.
[punto_sw.AdvInfCall]

Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\punto_sw.inf"",punto_sw.Uninstal.DelDirs,4"

TickCount=500
[punto_sw.Uninstal.DelDirs]

DelDirs=punto_sw.DelDirs
[punto_sw.DelDirs]

"%16422%/Punto Switcher"
На этом подробно останавливаться не будем, их вполне корректно создаёт Скрипт для создания секций копирования/удаления файлов, с которого мы начали изготовление аддона.
Аддон готов. Чтобы привести его к привычному виду, нужно удалить файлы PreCompile.exe, PreCompile.lst и папку src. Переименовать файл upd в upd.cmd и запустить.
Общие замечания:
- Я не делал привязку аддона к 3rdParty, чтобы упростить описание.
- При установке/удалении аддона необходима перезагрузка компьютера, но автоматизацию этого процесса я рассматривать не стал. Посмотрите, как это реализовано в аддоне DrWeb (при установке/удалении SpiderGuard из компонентов Windows запрашивается перезагрузка).
- В секции копирования файлов рассмотренного аддона вы встретите такие строчки:
correct.dll,,,4

"ChooseLayouts.exe",ChooseLa.exe,,4 
Первая копирует файл correct.dll в директорию назначения в таком же виде, в каком он находится в CAB-архиве аддона, а вторая читается так: скопировать файл ChooseLa.exe в директорию назначения и переименовать его в ChooseLayouts.exe. Это сделано для соответствия имён файлов в CAB-архиве формату 8.3.
- Если путь к папке или файлу содержит пробелы, не забывайте заключать его в кавычки.
Пример был взят отсюда.
К содержанию

Разбор конструктора K-lite codek pack


В данном примере рассмотрим устройство аддона-конструктора. В основе аддона лежит возможность создания "тихой" установки K-lite с помощью ключа -unnatended, распознаваемого инсталлятором. После запуска установки с этим ключом происходит эмуляция установки с обычном набором диалоговых окон: выбор папки установки, выбор устанавливаемых кодеков. В результате мы получаем набор файлов для автоматической установки программы: klmcp.ini, klmcp.bat и сам дистрибутив, переименованый в klmcp.exe для краткости.

Автоустановка запускается через командный файл который состоит из одной строки, запускающей установку в "тихом" режиме и подключающей INI-файл с настройками:

@klmcp.exe /verysilent /norestart /dir="%ProgramFiles%\K-Lite Codec Pack" /LoadInf=".\klmcp.ini" 

В принципе, приведенной информации достаточно для того, чтобы создать аддон типа SVCPACK, запаковав файлы Winrar в виде SFX архива с "тихим" запуском батника при распаковке.

Для создания же конструктора лучше сократить количество действий пользователя при его сборке. Автор аддона рассудил так же и решил создать комбинированный конструктор (Sysoc+svcpack). Посмотрим на структуру папок готового аддона:

KLiteMega

      +Files 

            -+ForceCopy

                    --+SVCPACK

                      ---klinst.exe  - установка K-lite

              --klmcp.bat

              --klmcp.exe      > файлы автоустановки K-lite

              --klmcp.ini

              --KLITE.IN_     -  INF-файл для копирования файлов на текстовом этапе



      -conflict

      -dosnet

      -Run

      -sysoc

      -txtsetup               > конфигурационные файлы

      -addon.nfo 
На текстовом этапе файлы аддона копируются во временную папку %Windir%\Temp\KL:
Klite.inf
.....

[DestinationDirs]

klite.Copy=10,"Temp\KL"
[klite.Copy]

klmcp.bat,,,4

klmcp.exe,,,4

klmcp.ini,,,4 
Фактически это все, что делается на текстовом этапе через Sysoc.
Установка кодеков происходит на Т13, для чего через Run создан пустой SFX-архив 7-zip с командами установки в коментарии архива.
Klite.exe 
RunProgram="hidcon:\"klmcp.bat\""

InstallPath="%SystemRoot%\\Temp\\KL"

GUIMode="2"

Delete="%SystemRoot%\\Temp\\KL"

Как видно, ничего сложного в этом нет. Запускается командный файл в скрытом режиме, в качестве папки источника для установки указана "%SystemRoot%\\Temp\\KL", куда на текстовом режиме установки Windows были скопированы необходимые файлы. Затем временная папка удаляется. Это весь аддон. Файлы установки, лежащие в папке аддона Files\ForceCopy, можно заменять новыми версиями K-lite по мере необходимости.
Можно спорить со способом реализации аддона, выбранным автором, но аддон работает, и это - главное.
 К содержанию

Пример файла конфигурации


Теперь, когда вы познакомились с основными командами XPlode, давайте рассмотрим конфигурацию на примере плагина XPlodeGFXInstall.x4d. Загрузите файл по этой ссылке - в коде вы найдете подробные комментари. В примере демонстрируется, каким образом можно задействовать различные команды XPlode, которые подробно описаны ниже.



Пример моего файла ответов


[data] AutoPartition = 0 floppyless = "1" msdosinitiated = "1" UnattendedInstall = "Yes" OriSrc = "\\%SERVERNAME%\RemInst\%INSTALLPATH%\%MACHINETYPE%" OriTyp = "4" LocalSourceOnCD = 1 DisableAdminAccountOnDomainJoin = Yes

[SetupData] OsLoadOptions = "/noguiboot /fastdetect" SetupSourceDevice = "\Device\LanmanRedirector\%SERVERNAME%\RemInst\%INSTALLPATH%"

[Unattended] UnattendMode = FullUnattended OemPreinstall = Yes TargetPath = \WINDOWS OemSkipEula = yes InstallFilesPath = "\\%SERVERNAME%\RemInst\%INSTALLPATH%\%MACHINETYPE%" LegacyNIC = 1 Repartition = No UnattendSwitch = "Yes" WaitForReboot = "No" OemFilesPath = "\\%SERVERNAME%\RemInst\%INSTALLPATH%\%MACHINETYPE%\$\" OemPnPDriversPath = "Drivers\000_Chipset\;Drivers\001_Network\;Drivers\002_Video\;Drivers\003_Sound\" DriverSingingPolicy = Ignore ProgramFilesDir = "C:\Program Files"

[UserData] ProductKey = *****-*****-*****-***** FullName = "****" OrgName = "%ORGNAME%" ComputerName = unattend

[GuiUnattended] OemSkipWelcome = 1 OemSkipRegional = 1 TimeZone = 180 AdminPassword = "*"

[TapiLocation] CountryCode = 7 AreaCode = ****

[RegionalSettings] LanguageGroup = 1,5 SystemLocale = 00000419 UserLocale = 00000419 InputLocale = 0409:00000409,0419:00000419

[Branding] BrandIEUsingUnattended = Yes

[URL] Home_Page = http://www.yandex.ru Help_Page = http://www.yandex.ru Search_Page = http://www.yandex.ru

[Proxy] Proxy_Enable = 0 Use_Same_Proxy = 1

[Networking] InstallDefaultComponents = No

[NetAdapters] Adapter1 = params.Adapter1

[params.Adapter1] INFID = *

[NetClients] MS_MSClient = params.MS_MSClient

[NetServices] MS_Server=params.MS_PSched

[Identification] JoinDomain = %MACHINEDOMAIN% DoOldStyleDomainJoin = Yes

[NetProtocols] MS_TCPIP = params.MS_TCPIP

[params.MS_TCPIP] AdapterSections = params.MS_TCPIP.Adapter1

[params.MS_TCPIP.Adapter1] SpecificTo = Adapter1 DHCP = No IPAddress = ***.***.***.*** SubnetMask = ***.***.***.*** DNSServerSearchOrder = ***.***.***.*** WINS = No NetBIOSOptions = 0

[WindowsFirewall] Profiles = WindowsFirewall.TurnOffFirewall

[WindowsFirewall.TurnOffFirewall] Mode = 0

[Components] msmsgs = off msnexplr = off zonegames = off

[Shell] DefaultStartPanelOff = Yes

[RemoteInstall] Repartition = No UseWholeDisk = Yes

[OSChooser] Description="Microsoft Windows XP Professional RU" Help="Automatically installs Microsoft Windows XP Professional RU without prompting the user for input." LaunchFile="%INSTALLPATH%\%MACHINETYPE%\templates\startrom.com" ImageType=Flat Version="5.1 (0)"



Пример удаления ярлыков


DEL /F /Q "%AllUsersProfile%\Desktop\Adobe Reader 8.lnk"

DEL /F /Q "%AllUsersProfile%\Desktop\Microsoft Keyboard.lnk"



Пример удаления папок


RD /S /Q "%systemdrive%\temp\"

RD /S /Q "%systemdrive%\install\"



На этой странице вы найдете






На этой странице вы найдете примеры файлов, используемых при создании CD для автоматической установки Windows. Все примеры мои, за исключением start.cmd. Не копируйте файлы вслепую, т.к. пути к приложениям и пакетным файлам могут сильно отличаться. Также, далеко не все изменения в реестре подойдут вам. Используйте файлы исключительно для сравнения со своими.

Принцип работы


Отрисовывается бэкграунд картинка и на нее накладываются разные элементы:

Текстовые поля и поля слоев (можно создавать прямоугольные поля с определенным цветом фона и цветом шрифта)

Пункты меню. Самый важный для нас элемент, позволяет создавать текстовые пункты меню, которые могут менять цвет своего фона и текста при выборе.

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

Замечу что перевод программы сделан очень некачественно, смысл многих надписей теряется, поэтому я буду использовать в примерах английский интерфейс, добавляя в скобках значение из русского перевода.



Принцип работы способа RunOnceEx


Сначала создается пакетный файл RunOnceEx.cmd, основным назначением которого является импорт записей в системный реестр. Программы, которые необходимо установить, и команды для их установки указываются в виде параметров реестра. Импорт параметров в реестр происходит за 12 минут до окончания установки Windows (Т-12) путем запуска файла RunOnceEx.cmd из файла cmdlines.txt. Установка программ происходит при первом входе в систему первого пользователя. В остальном же файл RunOnceEx.cmd является обычным пакетным файлом, поэтому из него также можно выполнять любые команды, которые вы хотите запустить на Т-12.



Принцип работы технологии удаленной загрузки PXE


Компьютерный мир обрел принципиально новую технологию удаленной загрузки – предзагрузочную среду исполнения PXE (Pre-Boot eXecution Environment). PXE дает возможность организациям использовать существующую инфраструктуру TCP/IP совместно с протоколом DHCP для обнаружения в сети серверов удаленной установки ОС. Воспользоваться преимуществами технологии удаленной загрузки, входящей в состав Windows 2000, могут системы, соответствующие спецификациям Net PC и PC98, а также компьютеры, оборудованные сетевыми картами, которые поддерживаются диском удаленной загрузки RIS.

При включении клиентского компьютера с возможностью загрузки на основе технологии PXE, ПЗУ удаленной загрузки PXE или загрузочный диск RIS запрашивают IP-адрес у сервера DHCP, следуя стандартному механизму обнаружения DHCP. В процессе начального запроса обнаружения DHCP клиент информирует о своей способности загрузиться посредством PXE, тем самым информируя серверы RIS в сети о своей готовности к установке операционной системы. Любой доступный в сети сервер RIS может ответить на запрос, предоставив клиенту свой IP-адрес и имя загрузочного файла, который должен запросить клиент, нуждающийся в облуживании данным сервером RIS.

На Риуснке 2 представлена диаграмма, описывающая поэтапный процесс, через который проходит ПЗУ удаленной загрузки PXE во время каждого запроса сетевой загрузки службы.  

Рисунок 2 – Последовательность загрузочного процесса для ПЗУ удаленной загрузки PXE

Начиная с седьмого этапа, процесс на стороне клиента может различаться в зависимости от производителя сервера RIS, отвечающего на запросы клиента на обслуживание. Следующий раздел подробно описывает функцию удаленной установки ОС, которая является частью Windows 2000 Server.



Принцип работы удаленной установки ОС


На Рисунке 3 представлен принцип работы удаленной установки ОС. Ниже приводятся подробное описание каждого этапа процесса.  

Рисунок 3 – Архитектура служб удаленной установки 

Процесс обращения к серверу RIS и выбора образа для установки ОС состоит из нескольких этапов. Ниже описана последовательность событий, которые происходят при подключении к сети клиентского компьютера с возможностью загрузки на основе технологии PXE и его обслуживании сервером RIS.  

Для выполнения удаленной установки ОС:

1. Когда включается питание клиентского компьютера, способного загружаться по технологии PXE и подключенного к сети, он отправляет запрос на сетевое обслуживание. Частью этого запроса является пакет обнаружения DHCP, отправляемый в сеть. Пакет используется для запроса IP-адреса ближайшего сервера DHCP, IP-адреса сервера RIS, а также для отправки GUID - глобального уникального идентификатора компьютера (GUID хранится в BIOS компьютера, соответствующего спецификациям PC98 или Net PC). Сервер DHCP отвечает на запрос, предоставляя клиенту свой IP-адрес. Также на запрос отвечает любой доступный сервер RIS, предоставляя свой IP-адрес и имя загрузочного файла, который клиент должен запросить в случае, если данный сервер RIS будет выбран клиентом в качестве обслуживающего. Пользователю компьютера предлагается нажать клавишу F12 для начала обслуживания клиента данным сервером RIS.
2. Сервер RIS, используя службу BINL, должен опросить службу каталогов Active Directory на предмет наличия заранее созданной учетной записи компьютера, соответствующей данному клиенту. Служба BINL проверяет наличие учетной записи, сверяя идентификатор GUID, отправленный клиентом на первом этапе, с записями в службе каталогов Active Directory.
3. Если существование учетной записи компьютера подтверждается, происходит загрузка мастера установки клиентов (Client Installation Wizard, CIW) на клиентский компьютер, и пользователю предлагается выполнить вход в сеть.
4. Как только пользователь успешно вошел в сеть, службы удаленной установки ОС сверяются со службой каталогов Active Directory, определяя существование учетной записи пользователя и правильность введенного пароля. Затем службы удаленной установки ОС проверяют соответствующие им настройки групповой политики, чтобы определить параметры установки ОС, доступные данному пользователю. Кроме того, определяется, какие образы операционной системы будут предложены пользователю, и соответствующие опции становятся доступны в интерфейсе мастера установки клиентов.
5. Если для пользователя определен единственный вариант установки и образ операционной системы, то никакого выбора в мастере установки клиентов ему не предоставляется. Мастер просто информирует пользователя о том, что в процессе установки жесткий диск будет отформатирован и данные, хранящиеся на нем, будут удалены. Затем пользователь получает предложение начать удаленную установку операционной системы.
6. Процесс установки ОС начинается после того, как пользователь подтверждает свой выбор в окне, отображающем сводку параметров установки. Если на этом этапе учетная запись компьютера в службе каталогов Active Directory отсутствует, служба BINL создает такую учетную запись, автоматически задавая имя компьютера. Установка операционной системы на локальный компьютер производится в автоматическом (unattended) режиме. Иными словами, во время установки пользователю не предоставляется возможности выбора установки ОС.

С точки зрения конечного пользователя процесс удаленной установки ОС прост и понятен. Администратор проводит пользователя через процесс инсталляции операционной системы, заранее конфигурируя доступные пользователю параметры установки. Также администратор может контролировать предоставляемые в распоряжение пользователя образы ОС, тем самым обеспечивая успешную установку операционной системы из образа, предназначенного для конкретного пользователя.

Наверх страницы



Приступаем к работе


Заходим в каталог SYSTEM32 (обычно путь для всех примерно одинаковый - C:\Windows\System32).

Копируем файл logonui.exe в файл myui.exe, таким образом мы создадим копию оригинального файла и не будем делать ничего, чему бы могла возразить система (файл myui.exe должен также находиться в папке SYSTEM32)

Открываем файл myui.exe программой для редактирования ресурсов Restorator.



Процесс установки по минутам


Эта страница расписывает установку Windows по минутам, объясняя что происходит на каждом из этапов. Т-39 означает за 39 минут до окончания установки, Т-13 означает за 13 минут до окончания установки и т. д. Жирным выделены минуты, на которых можно запускать собственные команды.



Профиль Outlook (Outlook profile)


Последний раздел программы Office Customization Tool посвящен настройке почтовой программы Microsoft Outlook.


Увеличить рисунок

Рисунок 11 – Настройка профиля Outlook

На странице Outlook profile доступны следующие параметры.

Использовать существующий профиль (Use existing profile). Если профиль отсутствует, при первом запуске Outlook пользователю будет предложено создать новый профиль.

Изменить профиль (Modify profile). Если выбран этот параметр, на следующих страницах программы Office Customization Tool Вы сможете сконфигурировать изменения, которые необходимо внести в существующий профиль по умолчанию. Если профиль по умолчанию отсутствует, Outlook создает новый профиль на основе указанных Вами настроек. Также Вы можете указать имя профиля, к которому должны применяться указанные Вами настройки, установив переключатель в положение Define changes to profile named.

Новый профиль (New profile). Вы можете настроить новый профиль, который Outlook будет использовать в качестве профиля по умолчанию для всех пользователей (требуется указать имя профиля).

Применить файл профиля Outlook (Apply PRF). Вы можете импортировать файл профиля Outlook (PRF-файл), который будет использоваться в качестве профиля по умолчанию.

Примечание. Настроить параметры на трех следующих страницах программы Office Customization Tool можно только в том случае, если на странице Outlook profile Вы установили переключатель в положение Modify profile или New profile.



Программа для создания образа диска, утилита Sysprep и сценарий WSH


Знаете ли Вы способ быстрого развертывания 50 настольных систем Windows 2000 Professional со всем необходимым программным обеспечением? Будучи консультантом в крупной коммуникационной компании, я столкнулся с подобной проблемой и решил автоматизировать процесс. Раньше я много читал о технологии сервера сценариев Windows (Windows Script Host, WSH), и, наконец, пришло время применить эти знания на практике.

Чтобы значительно упростить установку и конфигурирование настольных систем, я использовал следующие инструменты: программу для создания образа диска, утилиту Sysprep компании Майкрософт, а также базовые сведения о языке сценариев WSH. Разработанный мной процесс состоит из четырех основных этапов: создание стандартного образа жесткого диска, написание сценария, выполняющего некоторые задачи установки, подготовка образа диска для клонирования и клонирование образа на рабочие станции. Вы можете использовать на практике приведенные в этой статье процедуры и сценарии для оптимизации процесса развертывания рабочих станций (предварительно изменив код, исходя из Ваших условий).

Наверх страницы



Программные средства


HFSLIP. Руководство здесь, но только на английском языке (читать не обязательно).

nLite . Руководство по ее использованию обязательно читать здесь.

Установочный диск Windows 2000 SP4 RUS. Примечание. Используйте только лицензионное программное обеспечение.

Update Rollup 1 for Win2000 SP4.

Internet Explorer 6.0 Service Pack 1 Russian

Apr2006 DirectX9c

Media Player 9, WindowsMedia9-KB891122-x86-Global-ENU

Кроме того, любые другие критические обновления для Windows 2000 выпущенные после SP4, с учетом языковой (!) версии и версии встроенного ПО (теперь у Вас IE6sp1, DX9, WMP9). Думаю Вы уже знаете, где их брать, если не знаете, то вам сюда - там есть прямые ссылки на англоязычные версии обновлений и указания в какие папки их помещать. Но не советую отвлекаться :)



Простой метод


Используя простой метод, вы установите все компоненты Office по умолчанию (это примерно 700Mb на жестком диске, если мне не изменяет память). Подробнее...



Q. Что делать с ISO файлом?


А. Его надо прожечь на CD/DVD. В программе для записи (Nero, Easy Meadia Creator и т.д.) откройте ISO образ (CTRL+O) и прожигайте. Можете сначала протестировать образ на виртуальной машине.



Q. Я уже сделал ISO. Можно ли теперь добавить в дистрибутив другие драйверы?


А. Да, начиная с версии 1.0 RC4. Добавьте драйверы и создайте ISO заново.



Q. Как автоматически установить желаемые обои на рабочий стол?


A.

Сохраните ваш графический файл как bliss.jpg (именно этот файл обоев ставится системой по умолчанию).

Запустите из командной строки команду makecab bliss.jpg (не забудьте указать правильный путь к файлу).

Получившийся файл bliss.jp_ скопируйте в директорию i386 вашего дистрибутива и согласитесь на перезапись.