Свойство Session.FeatureValidStates

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

Это свойство доступно только для чтения.

Синтаксис

propVal = Session.FeatureValidStates

Значение свойства

Обязательное строковое имя элемента компонента, допустимое состояние установки которого требуется извлечь.

Комментарии

Возвращаемое значение состоит из битовых флагов, как показано ниже. Бит 0: если задано значение Local является допустимым состоянием. Бит 1: если задано значение Source является допустимым состоянием.

Свойство FeatureValidStates выполняется успешно только после того, как установщик вызовет действия CostInitialize и CostFinalize .

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

Возможные допустимые состояния для компонента определяются следующим образом:

  • Если компонент не содержит компонентов, INSTALLSTATE_LOCAL и INSTALLSTATE_SOURCE являются допустимыми состояниями для компонента.
  • Если хотя бы один компонент компонента имеет атрибут msidbComponentAttributesLocalOnly или msidbComponentAttributesOptional, INSTALLSTATE_LOCAL является допустимым состоянием для компонента.
  • Если хотя бы один компонент компонента имеет атрибут msidbComponentAttributesSourceOnly или msidbComponentAttributesOptional, INSTALLSTATE_SOURCE является допустимым состоянием для компонента.
  • Если файл компонента, относящегося к компоненту, исправлен или из сжатого источника, INSTALLSTATE_SOURCE не включается в качестве допустимого состояния для компонента.
  • INSTALLSTATE_ADVERTISE не является допустимым состоянием, если компонент запрещает объявление (msidbFeatureAttributesDisallowAdvertise) или компонент требует поддержки платформы для объявления (msidbFeatureAttributesNoUnsupportedAdvertise), а платформа не поддерживает его.
  • INSTALLSTATE_ABSENT является допустимым состоянием для компонента, если его атрибуты не включают msidbFeatureAttributesUIDisallowAbsent.
  • Допустимые состояния дочерних компонентов, помеченных как следуют за родительским компонентом (msidbFeatureAttributesFollowParent), основаны на действии или состоянии установки родительского компонента.

Если свойство завершается сбоем, можно получить расширенные сведения об ошибке с помощью метода LastErrorRecord .

Требования

Требование Значение
Версия
Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP
DLL
Msi.dll
IID
IID_ISession определяется как 000C109E-0000-0000-C000-00000000000046