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

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

Жанры

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

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

Шрифт:

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

■ DisplayName — имя службы, отображаемое в оснастке services.msc.

■ Description — описание службы, отображаемое в оснастке services.msc.

■ ServiceType — тип службы. Значение этого параметра соответствует уже рассмотренному значению параметра реестра Type (см. часть 2).

■ StartType — режим запуска службы. Значение этого параметра соответствует уже рассмотренному значению параметра реестра Start.

■ ErrorControl — действие при возникновении ошибки при

запуске службы. Значение этого параметра соответствует уже рассмотренному значению параметра реестра ErrorControl.

■ ServiceBinary — путь и имя файла службы. Значение данного ключевого слова заносится в уже рассмотренный параметр ImagePath реестра. 

■ Dependencies — определяет службы, необходимые для работы данной службы. Эти значения заносятся в параметр реестра DependOnService.

■ LoadOrderGroup — определяет группу, к которой принадлежит данная служба. Эти значения заносятся в параметр реестра Group.

Удаление службы

Для удаления службы предназначено ключевое слово DelService, которое также указывается в блоке, названном в формате [«блок удаления».Services]. Удаление службы выполняется намного проще — просто указывается имя службы, которую нужно удалить (название раздела реестра, в котором служба описана).

Листинг 15.6. Пример удаления службы

[version]

Signature="$CHICAGO$"

[Uninstall.Services]

DelService=sr

В листинге 15.6 ключевое слово DelService указано в блоке [Uninstall.Services], так как именно блок [Uninstall] используется в примере при вызове INF-файла для удаления службы с помощью команды rundll32.exe.

Копирование файлов

Копирование в INF-файлах реализовано наиболее сложно. Для его выполнения необходимо не только использовать ключевое слово CopyFiles, но и, кроме того, создать три отдельных блока INF-файла: DestinationDirs, SourceDisksFiles и SourceDisksNames. Рассмотрим простой пример. 

Листинг 15.7. Копирование файлов

[version]

Signature = $CHICAGO$

[DefaultInstall]

CopyFiles = INFcopy

[INFcopy]

1.INF

[DestinationDirs]

INFcopy = 17

[SourceDisksFiles]

1.INF = 55

[SourceDisksNames]

55 = "имя диска", , 1

В этом примере для описания копируемых файлов используется блок INF-файла [INFcopy]. Ссылка на него содержится в ключевом слове CopyFiles. В этом блоке находятся только названия файлов, которые должны быть скопированы (если файлов несколько, каждый из них пишется в отдельной строке).

Кроме блока [INFcopy], файл обязательно должен хранить и три других стандартных блока INF-файлов.

Блок [DestinationDirs] определяет каталоги, в которые должны копироваться файлы, описанные в отдельных блоках INF-файла, предназначенных для описания копируемых файлов. При этом все файлы, описанные в одном блоке INF-файла, должны копироваться только в один каталог (то есть если бы в нашем блоке [INFcopy] описывалось два файла, например 1.INF и 2.INF, то они оба должны были бы скопироваться в один каталог). Формат определения каталога, в который будут копироваться файлы, следующий:

«блок описания копируемых файлов»=«числовой номер каталога»,«дальнейший путь к каталогу»

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

■ 10 — %systemroot%.

■ 11 — %systemroot%\system32.

■ 17 — %systemroot%\Inf.

■ 53 — %userprofile%.

■ 54 — %systemdrive%.

■ 1 — говорит о том, что необходимо использовать абсолютный путь, который должен быть записан после числового номера (через запятую). Абсолютным называется путь, который не начинается с числового номера каталога. Например, числовым является путь d:\test\1.

С помощью блока [SourceDisksFiles] осуществляется присваивание каждому копируемому файлу уникального идентификатора, он будет определять в блоке [SourceDisksNames] название диска, с которого копируется файл. Формат строк этого блока следующий:

«название копируемого файла»=«уникальный идентификатор диска, на котором находится этот файл»

Блок [SourceDisksNames] определяет диски, на которых находятся копируемые файлы. Формат строк этого блока таков:

«уникальный идентификатор диска»=«имя диска»,«метка диска»,«серийный номер диска»
 

Метка диска отображается в диалоге копирования файлов. Эта метка также отображается в диалоге, выводимом, если система не может найти указанные для копирования файлы. В этом случае система попросит вас вставить диск, название которого как раз и указано в блоке [SourceDisksNames].

Удаление файлов

Удаление файлов напоминает их копирование, поэтому рассмотрим этот процесс лишь поверхностно — в подсказках к листингу 15.8. Для определения блоков, содержащих описания удаляемых файлов, используется ключевое слово DelFiles.

Листинг 15.8. Удаление файлов

[version]

Signature = $CHICAGO$

;данный раздел будет вызываться с помощьюкоманды rundll32

[DefaultUninstall]

DelFiles = INFdel

;мы будем удалять файл vfolder.INF

[INFdel]

vfolder.INF

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

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

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

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

Безымянный раб

Зыков Виталий Валерьевич
1. Дорога домой
Фантастика:
фэнтези
9.31
рейтинг книги
Безымянный раб

Волк 4: Лихие 90-е

Киров Никита
4. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 4: Лихие 90-е

Кремлевские звезды

Ромов Дмитрий
6. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кремлевские звезды

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Восход. Солнцев. Книга VIII

Скабер Артемий
8. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга VIII

Кровь и Пламя

Михайлов Дем Алексеевич
7. Изгой
Фантастика:
фэнтези
8.95
рейтинг книги
Кровь и Пламя

Объединитель

Астахов Евгений Евгеньевич
8. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Объединитель

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Дайте поспать!

Матисов Павел
1. Вечный Сон
Фантастика:
юмористическое фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Дайте поспать!

Бальмануг. Студентка

Лашина Полина
2. Мир Десяти
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Бальмануг. Студентка

Довлатов. Сонный лекарь

Голд Джон
1. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII