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


Динамические директории (AdvancedINF)


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

Пример динамической директории

    Теперь рассмотрим шаги, которые необходимо выполнить, чтобы получить это значение параметра реестра Path как переменную внутри INF-скрипта:

1. Необходимо добавить к текущей выполнимой секции, например, [DefaultInstalll], параметр CustomDestination

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

2. Написать дочернюю секцию, указанную в параметре CustomDestination и задать используемые номера переменных и имена дочерних секций, где определяется адрес параметра в реестре, содержащего путь. Формат обозначения указан на примере ниже. Кроме того, необходимо указать ключ, определяющий поведение интерпретатора во время установления переменной пути.

3. Написать дочернюю секцию, определяющую адрес параметра в реестре. Её тело - обычно одна строка формата строки записи в реестр, где указывается имя ключа, параметра и типового значения пути.

[DefaultInstall]

CustomDestination=dirs.CustomDest

CopyFiles=cpf.test


[dirs.CustomDest]

49000,49001,49002,49003 = RegistryDir,5


[RegistryDir]

HKLM,"Software\Company_Name\Program_Name","Path",,"Error String"


[cpf.test]filename.ext


[CustomDestination]

cpf.test = 49001


[SourceDisksFiles]

filename.ext= 1


[SourceDisksFiles]1 = "TEST","",0

    Теперь разберём пример. В секции [dirs.CustomDest] указаны четыре числа через запятую в качестве параметра.


Начало  Назад  Вперед



Книжный магазин