Partager via


Table des fonctionnalités

Le tableau des caractéristiques définit la structure d’arborescence logique des fonctionnalités et contient les colonnes indiquées dans le tableau suivant.

Colonne Type Clé Nullable
Caractéristique identificateur Y N
Feature_Parent identificateur N Y
Titre texte N Y
Description texte N Y
Montrer entier N Y
Niveau entier N N
Répertoire_ identificateur N Y
Attributs entier N N

 

Colonnes

Fonctionnalité de

Clé primaire utilisée pour identifier un enregistrement de fonctionnalité spécifique. La valeur de ce champ ne doit pas dépasser une longueur maximale de 38 caractères.

Feature_Parent

Clé facultative d’un enregistrement parent dans la même table.

La clé pointe vers la colonne Fonctionnalité. Si la fonctionnalité parente n’est pas sélectionnée, cette fonctionnalité n’est pas installée. Une valeur Null dans ce champ indique que cette fonctionnalité n’a pas de parent et est un élément racine. La colonne Feature_Parent ne doit pas être égale à la colonne Fonctionnalité du même enregistrement.

Note

La profondeur maximale de n’importe quelle fonctionnalité est de 16. Une erreur 2701 se produit si une fonctionnalité qui dépasse cette profondeur maximale existe.

 

titre

Une courte chaîne de texte qui identifie une fonctionnalité.

Cette chaîne est répertoriée en tant qu’élément par le contrôle SelectionTree de la boîte de dialogue de sélection.

Description

Chaîne de texte plus longue qui décrit une fonctionnalité.

Cette chaîne localisable est affichée par le contrôle de texte de la boîte de dialogue de sélection .

affichage

Le nombre dans ce champ spécifie l’ordre dans lequel la fonctionnalité doit être affichée dans l’interface utilisateur.

La valeur détermine également si la fonctionnalité est initialement affichée ou réduite. Si la valeur est null ou 0 (zéro), l’enregistrement n’est pas affiché.

  • Si la valeur est impaire, le nœud de fonctionnalité est développé initialement.
  • Si la valeur est égale, le nœud de fonctionnalité est réduit initialement.

niveau

Niveau d’installation initial de cette fonctionnalité. Le traitement de la table de conditions peut modifier la valeur de niveau.

Un niveau d’installation de 0 (zéro) désactive l’élément et empêche son affichage. Une fonctionnalité avec un niveau d’installation de 0 (zéro) n’est pas installée pendant toute installation, y compris les installations administratives. Pour plus d’informations, consultez les informations « Niveau d’installation » dans la section Remarques de cette rubrique.

Directory_

La colonne Directory_ spécifie le nom d’un répertoire qui peut être configuré par une boîte de dialogue de sélection .

Étant donné que ce champ est une clé dans la table de répertoires , le répertoire spécifié doit être répertorié dans la première colonne de la table de répertoires. Vous devez entrer une propriété publique dans cette colonne pour rendre le répertoire configurable et afficher un bouton Parcourir dans la boîte de dialogue de sélection .

attributs

Option d’exécution à distance pour les fonctionnalités qui ne sont pas installées et pour lesquelles aucune demande d’état de fonctionnalité n’est effectuée à l’aide de l’une des propriétés suivantes.

Ajoutez les bits indiqués à la valeur totale de cette colonne pour inclure une option d’exécution à distance.

  • Si ce champ est vide, la valeur par défaut est 0 (zéro), msidbFeatureAttributesFavorLocal.
  • Si le niveau d’installation de la fonctionnalité est égal à 0 (zéro) ou supérieur ou égal au niveau d’installation actuel, aucune modification n’est apportée à l’état de la fonctionnalité.
Nom Décimal Hexadécimal Description
msidbFeatureAttributesFavorLocal 0 0x0000 Les composants de cette fonctionnalité qui ne sont pas marqués pour l’installation à partir de la source sont installés localement. Un composant partagé par deux fonctionnalités ou plus, dont certaines sont définies sur msidbFeatureAttributesFavorLocal et certaines sur msidbFeatureAttributesFavorSource, sont installées localement. Les composants marqués msidbComponentAttributesSourceOnly dans la table de composants sont toujours exécutés à partir du CD/serveur source. Les bits msidbFeatureAttributesFavorLocal et msidbFeatureAttributesFavorSource fonctionnent avec des fonctionnalités non répertoriées par la propriété ADVERTISE,.
msidbFeatureAttributesFavorSource 1 0x0001 Les composants de cette fonctionnalité non marqués pour l’installation locale sont installés pour s’exécuter à partir de la source CD-ROM ou du serveur. Un composant partagé par deux fonctionnalités ou plus, dont certaines sont définies sur msidbFeatureAttributesFavorLocal et certaines sur msidbFeatureAttributesFavorSource, sont installées pour s’exécuter localement. Les composants marqués msidbComponentAttributesLocalOnly dans la table de composants sont toujours installés localement. Les bits msidbFeatureAttributesFavorLocal et msidbFeatureAttributesFavorSource fonctionnent avec des fonctionnalités non répertoriées par la propriété ADVERTISE,.
msidbFeatureAttributesFollowParent 2 0x0002 Définissez cet attribut et l’état de la fonctionnalité est identique à l’état du parent de la fonctionnalité. Vous ne pouvez pas utiliser cette option si la fonctionnalité se trouve à la racine d’une arborescence de caractéristiques. Omettez cet attribut et l’état de la fonctionnalité est déterminé en fonction de msidbFeatureAttributesDisallowAdvertise et msidbFeatureAttributesFavorLocal et msidbFeatureAttributesFavorSource.
Pour garantir que l’état de la fonctionnalité enfant suit toujours l’état de son parent, même si l’enfant et le parent sont initialement absents dans le contrôle SelectionTree, vous devez inclure msidbFeatureAttributesFollowParent et msidbFeatureAttributesUIDisallowAbsent dans les attributs de la fonctionnalité enfant.
Notez que si vous définissez msidbFeatureAttributesFollowParent sans définir msidbFeatureAttributesUIDisallowAbsent, le programme d’installation ne peut pas forcer la fonctionnalité enfant hors de l’état absent. Dans ce cas, la fonctionnalité enfant correspond à l’état d’installation du parent uniquement si l’enfant est défini sur quelque chose d’autre qu’absent.
Définissez msidbFeatureAttributesFollowParent et msidbFeatureAttributesUIDisallowAbsent pour garantir qu’une fonctionnalité enfant suit l’état de la fonctionnalité parente.
msidbFeatureAttributesFavorAdvertise 4 0x0004 Définissez cet attribut et l’état de la fonctionnalité est Publier. Si la fonctionnalité est répertoriée par la propriété ADDDEFAULT ce bit est ignorée et l’état de la fonctionnalité est déterminé en fonction de msidbFeatureAttributesFavorLocal et msidbFeatureAttributesFavorSource. Omettez cet attribut et l’état de la fonctionnalité est déterminé en fonction de msidbFeatureAttributesDisallowAdvertise et msidbFeatureAttributesFavorLocal et msidbFeatureAttributesFavorSource.
msidbFeatureAttributesDisallowAdvertise 8 0x0008 Notez que ce bit fonctionne uniquement avec les fonctionnalités répertoriées par la propriété ADVERTISE,. Définissez cet attribut pour empêcher la publication de la fonctionnalité.
Définissez cet attribut et si la fonctionnalité répertoriée n’est pas parent ou enfant, la fonctionnalité est installée en fonction de msidbFeatureAttributesFavorLocal et msidbFeatureAttributesFavorSource.
Définissez cet attribut pour le parent d’une fonctionnalité répertoriée et le parent est installé.
Définissez cet attribut pour l’enfant d’une fonctionnalité répertoriée et l’état de l’enfant est Absent.
Omettez cet attribut et si la fonctionnalité répertoriée n’est pas parent ou enfant, l’état de la fonctionnalité est Publier.
Omettez cet attribut et si la fonctionnalité répertoriée est parent ou enfant, l’état des deux fonctionnalités est Publier.
msidbFeatureAttributesUIDisallowAbsent 16 0x0010 Définissez cet attribut et l’interface utilisateur n’affiche pas d’option permettant de modifier l’état de la fonctionnalité en absent. La définition de cet attribut force la fonctionnalité à l’état d’installation, que la fonctionnalité soit visible ou non dans l’interface utilisateur. Omettez cet attribut et l’interface utilisateur affiche une option permettant de modifier l’état de la fonctionnalité en absent.
Définissez msidbFeatureAttributesFollowParent et msidbFeatureAttributesUIDisallowAbsent pour garantir qu’une fonctionnalité enfant suit l’état de la fonctionnalité parente.
La définition de cet attribut affecte non seulement l’interface utilisateur, mais force également la fonctionnalité à l’état d’installation si la fonctionnalité est visible dans l’interface utilisateur ou non.
msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 Définissez cet attribut et cette publicité est désactivé pour la fonctionnalité si l’interpréteur de commandes du système d’exploitation ne prend pas en charge les descripteurs Windows Installer. Omettez cet attribut et la publicité n’est pas désactivée.

 

Certains attributs sont exclusifs les uns des autres. Si vous tentez de définir ces attributs ensemble sur la même fonctionnalité, le package d’installation échoue validation de package.

  • N’utilisez pas msidbFeatureAttributesFavorAdvertise avec msidbFeatureAttributesDisallowAdvertise.
  • N’utilisez pas msidbFeatureAttributesNoUnsupportedAdvertise avec msidbFeatureAttributesDisallowAdvertise ensemble.
  • N’utilisez pas msidbFeatureAttributesFollowParent avec msidbFeatureAttributesFavorSource.
  • Notez que les valeurs msidbFeatureAttributesFollowParent et msidbFeatureAttributesFavorLocal s’excluent mutuellement. Si la valeur msidbFeatureAttributesFollowParent est utilisée, la valeur msidbFeatureAttributesFavorLocal est supposée ne pas exister.

Notez que si une fonctionnalité enfant est installée, sa fonctionnalité parente est également installée. Si une fonctionnalité parente est installée, sa fonctionnalité enfant n’est pas nécessairement installée, sauf si ses attributs msidbFeatureAttributesFollowParent et msidbFeatureAttributesUIDisallowAbsent sont définis. Cette relation hiérarchique de l’installation des fonctionnalités parent et enfant est également utilisée pour les installations et installations de l’interface graphique graphique qui utilisent des propriétés de ligne de commande.

Remarques

Plusieurs colonnes temporaires supplémentaires sont ajoutées à cette table lorsqu’elle est chargée en mémoire pour les calculs utilisés par la sélection d’interface utilisateur et de coût.

Un composant peut être partagé entre deux ou plusieurs fonctionnalités ou applications. Si deux fonctionnalités ou plus font référence au même composant, ce composant est sélectionné pour l’installation si l’une des fonctionnalités associées est sélectionnée. Cela peut également être la raison pour laquelle les fonctionnalités enfants ne sont pas désinstallées lorsqu’une fonctionnalité parente est supprimée. Si la fonctionnalité enfant se compose de composants nécessaires par d’autres fonctionnalités ou applications, Windows Installer ne supprime pas la fonctionnalité enfant.

Pour plus d’informations, consultez Contrôle des états de sélection des fonctionnalités.

Niveau d’installation :

  • Pour toute installation, il existe un niveau d’installation défini, qui est une valeur intégrale comprise entre 1 et 32 767. La valeur initiale est déterminée par l'de propriété INSTALLLEVEL, qui est définie dans la table de propriétés .
  • Une fonctionnalité est installée uniquement si la valeur du niveau de fonctionnalité est inférieure ou égale au niveau d’installation actuel. L’interface utilisateur peut être créée afin que lorsque l’installation est initialisée, le programme d’installation permet à l’utilisateur de modifier le niveau d’installation de n’importe quelle fonctionnalité dans le tableau des fonctionnalités. Par exemple, un auteur peut définir des valeurs de niveau d’installation qui représentent des options d’installation spécifiques, telles que personnalisée, standard ou minimum, puis créer une boîte de dialogue qui utilise SetInstallLevel ControlEvents pour permettre à l’utilisateur de sélectionner l’un de ces états.
  • Selon l’état sélectionné par l’utilisateur, la boîte de dialogue définit la propriété de niveau d’installation sur la valeur correspondante. Si l’auteur attribue un niveau de 100 et que l’utilisateur sélectionne standard, seules ces fonctionnalités dont le niveau est 100 ou inférieur sont installés. En outre, l’option personnalisée peut entraîner une autre boîte de dialogue contenant un contrôle SelectionTree . Le contrôle SelectionTree permet ensuite à l’utilisateur de modifier individuellement si chaque fonctionnalité est installée ou non.

Validation

ICE03
ICE06
ICE10
ICE14
ICE21
ICE32
ICE41
ICE45
ICE47
ICE50
ICE57
ICE59
ICE62
ICE67
ICE79
ICE86
ICE94