Чтение онлайн

на главную - закладки

Жанры

Недокументированные и малоизвестные возможности Windows XP

Клименко Роман

Шрифт:

[version]

Signature = $CHICAGO$

AdvancedINF=2.5,"Эта строка будет выводиться, если на компьютере не найдено библиотеки advpack.dll"

[DefaultInstall]

RunPreSetupCommands = RunPre

BeginPrompt=BeginText

EndPrompt=EndText

[RunPre]

cmd.exe

[BeginText]

Prompt="Это пример текста, который выведется перед
установкой"

Title="Это заголовок для сообщения, которое выведется перед установкой"

[EndText]

Prompt="Это пример текста, который выведется после установки"

Блок для описания сообщения, выводимого перед установкой INF-файла (в данном случае BeginText) содержит следующие ключевые слова.

■ Prompt — определяет саму строку выводимого сообщения.

■ Title — указывает заголовок окна сообщения. Следует учитывать, что данный заголовок будет использоваться не только для окна сообщения, отображаемого перед установкой, но и для окна сообщения, отображаемого после установки. 

Дополнительные возможности

Выше были рассмотрены лишь основы работы с INF-файлами. Кроме приведенных ключевых слов, INF-файлы поддерживают многие другие, но если начать их описывать, то понадобится отдельная книга. Закончим на этом рассказ о ключевых словах INF-файлов. Теперь рассмотрим несколько примеров не совсем стандартного использования INF-файлов. Без описания этих примеров рассказ о возможностях INF-файлов был бы не полон.

Работа с диалогом Установка и удаление программ

Одной из интересных возможностей INF-файлов является возможность их использования как для добавления команды в диалог Установка и удаление программ, так и для выполнения процесса деинсталляции при помощи диалога Установка и удаление программ. Рассмотрим простой пример использования INF-файлов для создания так называемого зацикленного элемента диалога Установка и удаление программ, который применяется для включения и отключения возможности автоматического запуска дисков. Принцип работы приведенного ниже сценария прост. При первом своем вызове он копирует себя в папку %systemroot%\INF, отключает автоматический запуск дисков, а также добавляет возможность включения автоматического запуска дисков в диалог Установка и удаление программ. После удаления данного INF-файла с помощью диалога Установка и удаление программ происходит включение автоматического запуска дисков, а также создание в диалоге Установка и удаление программ новой строки, с помощью которой можно опять отключить автоматический запуск диска. Другими словами, создается постоянный цикл. Конечно, пример с изменением значения одного параметра довольно спорен, ведь намного проще было бы добавить свой флажок в один из стандартных диалогов Windows, поддерживающих добавление в свои списки новых элементов. Но если необходимо при установке параметра также выполнять какие-либо команды или модифицировать сразу несколько параметров (например, создать несколько разновидностей настройки оболочки Windows, а потом переходить между ними), то данный способ использования INF-файлов может быть незаменим (рис. 15.1).

Рис. 15.1. Создание команды в диалоге Установка и удаление программ

Листинг 15.12. Создание цикла в диалоге Установка и удаление программ

[version]

Signature = $CHICAGO$

[DefaultInstall]

AddReg = AutoRunOff, InstallInf

CopyFiles = INFcopy

;Ниже мы используем переменную %PATH% для указания изменяемой ветви реестра.

;Переменная –
это специальная последовательность символов, которая при 

;установке INF-файла будет преобразовываться в строку, определенную для нее

;в стандартном блоке [Strings] (обычно этот блок располагается в самом низу

;INF-файла). Использование переменных позволяет улучшить читабельность

;INF-файлов большого размера, а также предоставляет разработчику возможность

;цетрализованного хранения всех информационных и других строчек программы.

;Иными словами, вместо того чтобы искать необходимую для изменения строку

;по всему содержимому INF-файла, он может описать ее в блоке [Strings]

[AutoRunOff]

HKLM, %PATH%, AutoRun, 0x00010001, 0

;Добавляем строку в диалог Установка\удаление программ. В первой главе

;мы кратко рассматривали формат этого диалога.

[InstallInf]

HKLM, %DISPLAY% autorunOnOff,,,

HKLM, %DISPLAY% autorunOnOff, DisplayName,,%NAME_ON%

HKLM, %DISPLAY% autorunOnOff, UninstallString,,\"rundll32 setupapi, InstallHINFSection DefaultUninstall 132 %17%\primer.INF"

[DefaultUninstall]

AddReg = AutoRunOn

[AutoRunOn]

HKLM, %PATH%, AutoRun, 0x00010001, 1

HKLM, %DISPLAY% autorunOnOff, DisplayName,,%NAME_OFF%

HKLM, %DISPLAY% autorunOnOff, UninstallString,,\"rundll32 setupapi, InstallHINFSection DefaultInstall 132 %17%\primer.INF"

[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. Строки имеют следующий формат:

Поделиться:
Популярные книги

Убивать чтобы жить 5

Бор Жорж
5. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 5

Эволюционер из трущоб. Том 7

Панарин Антон
7. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 7

Право на жизнь

Ледова Анна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Право на жизнь

Сумеречный Стрелок 4

Карелин Сергей Витальевич
4. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 4

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Вор (Журналист-2)

Константинов Андрей Дмитриевич
4. Бандитский Петербург
Детективы:
боевики
8.06
рейтинг книги
Вор (Журналист-2)

Барон устанавливает правила

Ренгач Евгений
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Барон устанавливает правила

Надуй щеки! Том 4

Вишневский Сергей Викторович
4. Чеболь за партой
Фантастика:
попаданцы
уся
дорама
5.00
рейтинг книги
Надуй щеки! Том 4

Наследник, скрывающий свой Род

Тарс Элиан
2. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник, скрывающий свой Род

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Низший

Михайлов Дем Алексеевич
1. Низший!
Фантастика:
боевая фантастика
7.90
рейтинг книги
Низший

Проводник

Кораблев Родион
2. Другая сторона
Фантастика:
боевая фантастика
рпг
7.41
рейтинг книги
Проводник

Искажающие Реальность 11

Атаманов Михаил Александрович
11. Искажающие реальность
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Искажающие Реальность 11