Propriété Session.FeatureValidStates

La propriété FeatureValidStates de l’objet Session retourne un entier représentant des indicateurs de bits, chaque bit pertinent représentant un état d’installation valide pour la fonctionnalité spécifiée.

Cette propriété est en lecture seule.

Syntaxe

propVal = Session.FeatureValidStates

Valeur de la propriété

Nom de chaîne obligatoire de l’élément de fonctionnalité dont les états d’installation valides doivent être récupérés.

Notes

La valeur de retour est composée d’indicateurs de bits comme suit. Bit 0 : s’il est défini, Local est un état valide. Bit 1 : s’il est défini, Source est un état valide.

La propriété FeatureValidStates réussit uniquement après que le programme d’installation a appelé les actions CostInitialize et CostFinalize.

FeatureValidStates détermine la validité de l’état en interrogeant tous les composants liés à la fonctionnalité spécifiée sans prendre en compte l’état installé actuel d’un composant.

Les états valides possibles pour une fonctionnalité sont déterminés comme suit :

  • Si la fonctionnalité ne contient pas de composants, INSTALLSTATE_LOCAL et INSTALLSTATE_SOURCE sont des états valides pour la fonctionnalité.
  • Si au moins un composant de la fonctionnalité a un attribut de msidbComponentAttributesLocalOnly ou msidbComponentAttributesOptional, INSTALLSTATE_LOCAL est un état valide pour la fonctionnalité.
  • Si au moins un composant de la fonctionnalité a un attribut de msidbComponentAttributesSourceOnly ou msidbComponentAttributesOptional, INSTALLSTATE_SOURCE est un état valide pour la fonctionnalité.
  • Si un fichier d’un composant appartenant à la fonctionnalité est corrigé ou à partir d’une source compressée, alors INSTALLSTATE_SOURCE n’est pas inclus comme état valide pour la fonctionnalité.
  • INSTALLSTATE_ADVERTISE n’est pas un état valide si la fonctionnalité interdit la publication (msidbFeatureAttributesDisallowAdvertise) ou si la fonctionnalité nécessite la prise en charge de la plateforme pour la publication (msidbFeatureAttributesNoUnsupportedAdvertise) et si la plateforme ne la prend pas en charge.
  • INSTALLSTATE_ABSENT est un état valide pour la fonctionnalité si ses attributs n’incluent pas msidbFeatureAttributesUIDisallowAbsent.
  • Les états valides pour les fonctionnalités enfants marquées pour suivre la fonctionnalité parente (msidbFeatureAttributesFollowParent) sont basés sur l’action ou l’état installé de la fonctionnalité parente.

Si la méthode échoue, vous pouvez obtenir des informations d’erreur détaillées à l’aide de la méthode LastErrorRecord.

Configuration requise

Condition requise Valeur
Version
Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP
DLL
Msi.dll
IID
IID_ISession est défini comme 000C109E-0000-0000-C000-000000000046