Таблица признаков
Таблица признаков определяет логическую древовидную структуру признаков и содержит столбцы, показанные в следующей таблице.
Столбец | Type | Ключ | Допускает значения NULL |
---|---|---|---|
Компонент | Идентификатор | Да | N |
Feature_Parent | Идентификатор | Нет | Да |
Заголовок | Text | N | Да |
Описание | Text | N | Да |
Отображение | Целое число | Нет | Да |
Level | Целое число | Нет | Нет |
Каталог_ | Идентификатор | Нет | Да |
Атрибуты | Целое число | Нет | Нет |
Столбцы
-
Функция
-
Первичный ключ, используемый для идентификации определенной записи функции. Длина значения в этом поле не должна превышать 38 символов.
-
Feature_Parent
-
Необязательный ключ родительской записи в той же таблице.
Ключевое указывает на столбец Компонент. Если родительский компонент не выбран, этот компонент не устанавливается. Значение NULL в этом поле указывает, что эта функция не имеет родительского элемента и является корневым элементом. Столбец Feature_Parent не должен совпадать со столбцом Feature той же записи.
Примечание
Максимальная глубина любого компонента составляет 16. Ошибка 2701 возникает, если существует функция, превышающая эту максимальную глубину.
-
Название
-
Короткая строка текста, идентифицирующая признак.
Эта строка указана как элемент в элементе управления SelectionTreeдиалогового окна выделения.
-
Описание
-
Длинная строка текста, описывающая функцию.
Эта локализуемая строка отображается элементом управления "Текст" диалогового окна выделения.
-
Отображения
-
Число в этом поле указывает порядок отображения функции в пользовательском интерфейсе.
Значение также определяет, будет ли функция изначально отображаться в развернутом или свернутом формате. Если значение равно NULL или 0 (ноль), запись не отображается.
- Если значение нечетное, узел компонента сначала разворачивается.
- Если значение равно четное, узел компонента сначала свернут.
-
Уровень
-
Начальный уровень установки этого компонента. При обработке таблицы условий можно изменить значение уровня.
Уровень установки 0 (ноль) отключает элемент и предотвращает его отображение. Компонент с уровнем установки 0 (нуль) не устанавливается во время установки, включая административные установки. Дополнительные сведения см. в разделе "Уровень установки" в разделе Примечания этой статьи.
-
Каталог_
-
Столбец Directory_ указывает имя каталога, который можно настроить с помощью диалогового окна выбора.
Так как это поле является ключом к таблице каталогов, указанный каталог должен быть указан в первом столбце таблицы каталогов. В этом столбце необходимо ввести общедоступное свойство , чтобы каталог можно было настроить, и отобразить кнопку Обзор в диалоговом окне выбора.
-
Атрибуты
-
Параметр удаленного выполнения для компонентов, которые не установлены и для которых запрос состояния компонента не выполняется с помощью любого из следующих свойств.
- Свойство ADDLOCAL
- Свойство ADDSOURCE
- СВОЙСТВО ADDDEFAULT
- COMPADDLOCAL Property
- Свойство COMPADDSOURCE
- СВОЙСТВО FILEADDLOCAL
- СВОЙСТВО FILEADDSOURCE
- Свойство REMOVE
- Свойство REINSTALL
- Свойство ADVERTISE
Добавьте указанные биты к общему значению этого столбца, чтобы включить параметр удаленного выполнения.
- Если это поле пустое, значение по умолчанию равно 0 (ноль), msidbFeatureAttributesFavorLocal.
- Если уровень установки компонента равен 0 (ноль) или больше или равен текущему уровню установки, то в состоянии компонента изменения не вносятся.
Имя Decimal Шестнадцатеричный Описание msidbFeatureAttributesFavorLocal 0 0x0000 Компоненты этого компонента, которые не помечены для установки из источника, устанавливаются локально. Компонент, совместно используемый двумя или более функциями, для некоторых из которых задано значение msidbFeatureAttributesFavorLocal, а для некоторых — msidbFeatureAttributesFavorSource, устанавливается локально. Компоненты, помеченные msidbComponentAttributesSourceOnly в таблице компонентов , всегда выполняются с исходного CD/сервера. Биты msidbFeatureAttributesFavorLocal и msidbFeatureAttributesFavorSource работают с функциями, не перечисленными в свойстве ADVERTISE. msidbFeatureAttributesFavorSource 1 0x0001 Компоненты этой функции, не помеченные для локальной установки, устанавливаются для запуска с исходного компакт-диска или сервера. Компонент, совместно используемый двумя или более функциями, для некоторых из которых задано значение msidbFeatureAttributesFavorLocal, а для некоторых — msidbFeatureAttributesFavorSource, устанавливается для локального запуска. Компоненты, помеченные msidbComponentAttributesLocalOnly в таблице компонентов , всегда устанавливаются локально. Биты msidbFeatureAttributesFavorLocal и msidbFeatureAttributesFavorSource работают с функциями, не перечисленными в свойстве ADVERTISE. msidbFeatureAttributesFollowParent 2 0x0002 Задайте этот атрибут, и состояние компонента совпадает с состоянием родительского компонента. Этот параметр нельзя использовать, если компонент находится в корне дерева признаков. Опустите этот атрибут, и состояние компонента определяется в соответствии с msidbFeatureAttributesDisallowAdvertise и msidbFeatureAttributesFavorLocal и msidbFeatureAttributesFavorSource.
Чтобы гарантировать, что состояние дочернего компонента всегда соответствует состоянию родительского компонента, даже если дочерние и родительские элементы изначально отсутствуют в элементе управления SelectionTree, необходимо включить в атрибуты дочернего компонента как msidbFeatureAttributesFollowParent, так и msidbFeatureAttributesUIDisallowAbsent.
Обратите внимание, что если задать msidbFeatureAttributesFollowParent без установки msidbFeatureAttributesUIDisallowAbsent, установщик не сможет вывести дочерний компонент из отсутствующего состояния. В этом случае дочерний компонент соответствует состоянию установки родительского элемента, только если дочерний компонент имеет значение, отличное от отсутствия.
Задайте msidbFeatureAttributesFollowParent и msidbFeatureAttributesUIDisallowAbsent, чтобы гарантировать, что дочерний компонент соответствует состоянию родительского компонента.msidbFeatureAttributesFavorAdvertise 4 0x0004 Задайте этот атрибут, а состояние функции — Рекламировать. Если компонент указан в свойстве ADDDEFAULT, этот бит игнорируется, а состояние функции определяется в соответствии с msidbFeatureAttributesFavorLocal и msidbFeatureAttributesFavorSource. Опустите этот атрибут, и состояние компонента определяется в соответствии с msidbFeatureAttributesDisallowAdvertise и msidbFeatureAttributesFavorLocal и msidbFeatureAttributesFavorSource. msidbFeatureAttributesDisallowAdvertise 8 0x0008 Обратите внимание, что этот бит работает только с функциями, перечисленными в свойстве ADVERTISE. Задайте этот атрибут, чтобы предотвратить объявление функции.
Задайте этот атрибут, и если указанный компонент не является родительским или дочерним, компонент устанавливается в соответствии с msidbFeatureAttributesFavorLocal и msidbFeatureAttributesFavorSource.
Задайте этот атрибут для родительского элемента, указанного в списке, и родительский компонент установлен.
Задайте этот атрибут для дочернего элемента указанного компонента, а состояние дочернего элемента — Absent.
Опустите этот атрибут, и если указанный компонент не является родительским или дочерним, состояние функции — Объявление.
Опустите этот атрибут, и если перечисленный компонент является родительским или дочерним, состояние обоих компонентов — Рекламировать.msidbFeatureAttributesUIDisallowAbsent 16 0x0010 Задайте этот атрибут, и в пользовательском интерфейсе не отображается параметр для изменения состояния функции на Absent. При установке этого атрибута компонент возвращается в состояние установки независимо от того, отображается ли компонент в пользовательском интерфейсе. Пропустите этот атрибут, и в пользовательском интерфейсе отображается параметр для изменения состояния функции на Absent.
Задайте msidbFeatureAttributesFollowParent и msidbFeatureAttributesUIDisallowAbsent, чтобы гарантировать, что дочерний компонент соответствует состоянию родительского компонента.
Установка этого атрибута не только влияет на пользовательский интерфейс, но и приводит компонент к состоянию установки независимо от того, отображается ли компонент в пользовательском интерфейсе.msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 Задайте этот атрибут, и реклама отключена для функции, если оболочка операционной системы не поддерживает дескрипторы установщика Windows. Опустить этот атрибут, и реклама не отключена. Некоторые атрибуты являются исключающими друг друга. Попытка установить эти атрибуты вместе в одном компоненте приводит к сбою установки пакета проверки пакета.
- Не используйте msidbFeatureAttributesFavorAdvertise с msidbFeatureAttributesDisallowAdvertise.
- Не используйте msidbFeatureAttributesNoUnsupportedAdvertise вместе с msidbFeatureAttributesDisallowAdvertise.
- Не используйте msidbFeatureAttributesFollowParent с msidbFeatureAttributesFavorSource.
- Обратите внимание, что значения msidbFeatureAttributesFollowParent и msidbFeatureAttributesFavorLocal являются взаимоисключающими. Если используется значение msidbFeatureAttributesFollowParent, предполагается, что значение msidbFeatureAttributesFavorLocal не существует.
Обратите внимание, что при установке дочернего компонента также устанавливается его родительский компонент. Если установлен родительский компонент, его дочерний компонент не обязательно устанавливается, если не заданы атрибуты msidbFeatureAttributesFollowParent и msidbFeatureAttributesUIDisallowAbsent. Эта иерархическая связь установки родительских и дочерних компонентов также используется для установок графического пользовательского интерфейса и установок, использующих свойства командной строки.
Комментарии
Несколько дополнительных временных столбцов добавляются в эту таблицу при ее загрузке в память для вычислений, используемых при расчете затрат и выборе пользовательского интерфейса.
Компонент может быть совместно использоваться двумя или более функциями или приложениями. Если два или более компонента относятся к одному и тому же компоненту, этот компонент выбирается для установки, если выбран какой-либо из связанных компонентов. Это также может быть причиной, по которой дочерние компоненты не удаляются при удалении родительского компонента. Если дочерний компонент состоит из компонентов, необходимых другим компонентам или приложениям, установщик Windows не удаляет дочерний компонент.
Дополнительные сведения см. в разделе Управление состояниями выбора признаков.
Уровень установки:
- Для любой установки существует определенный уровень установки, который является целочисленным значением от 1 до 32 767. Начальное значение определяется свойством INSTALLLEVEL, которое задается в таблице свойств.
- Компонент устанавливается, только если значение уровня компонентов меньше или равно текущему уровню установки. Пользовательский интерфейс можно создать таким образом, чтобы при инициализации установки установщик позволял пользователю изменять уровень установки любого компонента в таблице компонентов. Например, автор может определить значения уровня установки, представляющие определенные параметры установки, такие как Custom, Typical или Minimum, а затем создать диалоговое окно, использующее SetInstallLevel ControlEvents , чтобы пользователь мог выбрать одно из этих состояний.
- В зависимости от состояния, выбранного пользователем, диалоговое окно присваивает свойству уровня установки соответствующее значение. Если автор назначает типу уровень 100, а пользователь выбирает Типичная, устанавливаются только те компоненты с уровнем 100 или меньше. Кроме того, параметр "Настраиваемый " может привести к другому диалоговому окку, в котором содержится элемент управления SelectionTree. Затем элемент управления SelectionTree позволяет пользователю по отдельности изменять, установлен ли каждый компонент.
Проверка
ICE03
ICE06
ICE10
ICE14
ICE21
ICE32
ICE41
ICE45
ICE47
ICE50
ICE57
ICE59
ICE62
ICE67
ICE79
ICE86
ICE94