Приведенный в листинге 15.10 INF-файл перед своей установкой вызывает Калькулятор, а потом — стандартный командный интерпретатор Windows. После своей установки он вызовет диалоговое окно с вопросом о перезагрузке компьютера. Конечно, это окно принадлежит Internet Explorer, но зато оно работает.
ПРИМЕЧАНИЕ
Вопрос о перезагрузке компьютера можно было вызвать и с помощью флагов вызова INF-файла, но в листинге специально были использованы команды rundll32.exe.
Не забывайте также, что данный INF-файл не выполнится после выбора команды Установить контекстного меню INF-файла. Для его установки придется воспользоваться командой RunDll32 advpack.dll, LaunchINFSection d:\1.INF, DefaultInstall. Здесь d:\1.INF соответствует пути к INF-файлу и его названию.
Вывод сообщения перед установкой
Перед установкой INF-файла или после нее можно вывести окно сообщения с произвольным текстом. Диалог сообщения, выводимый перед установкой, позволяет эту установку отменить. Он содержит две кнопки — OK и Отмена. Если нажать кнопку Отмена, то установка INF-файла будет отменена. Диалог сообщения, выводимый после установки, является информационным и имеет только одну кнопку — OK.
Чтобы вывести диалоговое окно перед установкой, необходимо воспользоваться ключевым словом BeginPrompt (окно сообщения будет выведено до вызова программ, описанных ключевым словом RunPreSetupCommands), а чтобы вывести окно сообщения после установки, нужно воспользоваться ключевым словом EndPrompt. В листинге 15.11 приведен простой пример использования как окна сообщения, выводимого перед установкой, так и окна сообщения, выводимого после установки.
[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-файлов был бы не полон.
Работа с диалогом Установка и удаление программ