[INFcopy]
primer.INF
[DestinationDirs]
INFcopy = 17
[SourceDisksFiles]
primer.INF = 55
[SourceDisksNames]
55 = %DISKNAME%, , 1
;Описывает переменные, используемые в INF-файле
[Strings]
PATH = "SYSTEM\CurrentControlSet\Services\Cdrom"
DISPLAY = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
NAME_ON = "Восстановить автоматический запуск дисков"
NAME_OFF="Отключить автоматический запуск дисков"
DISKNAME = "parad0x-des1Gn"
Диалог установки компонентов Windows
Отдельной частью окна Установка и удаление программ является диалог Установка компонентов Windows, который вызывается нажатием соответствующей кнопки. Как правило, данный диалог включает в себя сведения не обо всех компонентах Windows, доступных на компьютере. Например, с его помощью нельзя удалить с компьютера стандартные игры, такие как Сапер или Паук. Это происходит потому, что по умолчанию возможность удаления или установки игр скрыта из диалога установки компонентов Windows. Список содержимого диалога Установка компонентов Windows описывается в файле sysoc.INF, расположенном в каталоге %systemroot%\INF. Данный файл включает в себя блок INF-файла [Components]. Блок содержит наборы строк, определяющих, будет ли отображаться в диалоге отдельный компонент операционной системы Windows XP. Строки имеют следующий формат:
идентификатор»=«библиотека для работы компонентов», «функция библиотеки», «INF-файл, описывающий компоненты»,«отображение компонентов»,«номер»
Следующие элементы являются наиболее важными.
■ INF-файл, описывающий компоненты — описывает разделы, отображаемые в диалоге Установка и удаление программ. Именно такой INF-файл сейчас и будет создан.
■ Отображение компонентов — если в данном поле будет стоять слово HIDE, то данный компонент не будет отображаться в диалоге дополнительных компонентов Windows. Чтобы компонент отображался в диалоге, необходимо чтобы это поле было пустым.
■ Например, чтобы добавить в диалог компонентов возможность удаления игр, необходимо в строке, начинающейся с идентификатора games, удалить строку HIDE.
На рис. 15.2 показан пример содержимого этого файла.
Рис. 15.2 .Содержимое файла sysoc.INF
Другой возможностью является добавление в данный диалог своих компонентов. Для этого необходимо сначала создать INF-файл, описывающий новые компоненты, а потом создать в файле sysoc.inf ссылку на созданный INF-файл. Сначала посмотрим на простой пример INF-файла. В этом примере сразу создается корневой раздел, отображаемый непосредственно в диалоге установки компонентов Windows, два вложенных в этот раздел подраздела, а также еще два раздела, которые и будут устанавливать или удалять компоненты. В нашем случае эти разделы будут просто скрывать (или отображать, в зависимости от состояния флажка) версию Windows на Рабочем столе, а также скрывать (или отображать) название значка Мой компьютер.
Листинг 15.13. Создание разделов в диалоге компонентов
[version]
signature="$Chicago$"
[Optional Components]
TopMain
Interface
Settings
HTMcomputer
Versus
[TopMain]
OptionDesc = Мои настройки
Tip = Варианты настройки интерфейса и конфигурации
IconIndex = 0
[Interface]
OptionDesc = Интерфейс Windows
Tip = Варианты настройки интерфейса
IconIndex = 4
Parent = TopMain
[Settings]
OptionDesc = Конфигурация Windows
Tip = Варианты настройки конфигурации компьютера
IconIndex = 16
Parent = TopMain
[HTMcomputer]
OptionDesc = Скрыть название моего компьютера
Tip = Скрывает название значка Мой компьютер
IconIndex = 0
Parent = Interface
AddReg = AddHTM
Uninstall = HTMUn
Modes = 0,1,2,3
[Versus]
OptionDesc = Отобразить версию на Рабочем столе
Tip = отображает версию операционной системы на Рабочем столе пользователя
IconIndex =4
Parent = Interface
AddReg =AddVersion
Uninstall =VersUn
Modes = 0,1,2,3
[AddHTM]
HKCR, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ShellFolder", WantsFORDISPLAY, 0x00010001, 1
[AddVersion]
HKCU, "Control Panel\Desktop", PaintDesktopVersion, 0x00010001, 1
[HTMUn]
DelReg = HTMDel
[VersUn] AddReg = VersDel
[HTMDel]
HKCR, "CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ShellFolder", WantsFORDISPLAY
[VersDel]
HKCU, "Control Panel\Desktop", PaintDesktopVersion, 0x00010001, 0
Формат INF-файла для создания компонентов в диалоге установки Windows немного отличается от обычного формата INF-файлов. Во-первых, основной блок INF-файла обязательно должен называться [Optional Components], иначе INF-файл работать не будет. Блок включает в себя список других блоков данного INF-файла. Каждый из описанных в [Optional Components] блоков определяет один раздел в диалоге установки компонентов Windows.
Читать дальше