Featuretabelle
Die Featuretabelle definiert die logische Struktur von Features und enthält die in der folgenden Tabelle gezeigten Spalten.
| Spalte | Typ | Schlüssel | Nullwerte zulässig |
|---|---|---|---|
| Funktion | Identifier | J | N |
| _Übergeordnetes Feature | Identifier | N | J |
| Titel | Text | N | J |
| BESCHREIBUNG | Text | N | J |
| Anzeige | Integer | N | J |
| Ebene | Integer | N | N |
| Verzeichnis_ | Identifier | N | J |
| Attributes | Integer | N | N |
Spalten
-
Feature
-
Der Primärschlüssel, der zum Identifizieren eines bestimmten Featuredatensatzes verwendet wird. Der Wert in diesem Feld darf eine maximale Länge von 38 Zeichen nicht überschreiten.
-
_Übergeordnetes Feature
-
Ein optionaler Schlüssel eines übergeordneten Datensatzes in derselben Tabelle.
Der Schlüssel zeigt auf die Spalte Feature. Wenn das übergeordnete Feature nicht ausgewählt ist, wird dieses Feature nicht installiert. Ein NULL-Wert in diesem Feld gibt an, dass dieses Feature kein übergeordnetes Element besitzt und ein Stammelement ist. Die _ Spalte Feature Parent darf nicht mit der Spalte Feature desselben Datensatzes übereinstimmen.
Hinweis
Die maximale Tiefe jedes Features beträgt 16. Der Fehler 2701 tritt auf, wenn ein Feature vorhanden ist, das diese maximale Tiefe überschreitet.
-
Titel
-
Eine kurze Textzeichenfolge, die ein Feature identifiziert.
Diese Zeichenfolge wird vom SelectionTree-Steuerelement des Auswahldialogfeldsals Element aufgelistet.
-
Beschreibung
-
Eine längere Textzeichenfolge, die ein Feature beschreibt.
Diese lokalisierbare Zeichenfolge wird vom Textsteuerelement des Auswahldialogfeldsangezeigt.
-
Anzeigen
-
Die Zahl in diesem Feld gibt die Reihenfolge an, in der das Feature auf der Benutzeroberfläche angezeigt werden soll.
Der Wert bestimmt auch, ob das Feature anfänglich erweitert oder reduziert angezeigt wird. Wenn der Wert NULL oder 0 (null) ist, wird der Datensatz nicht angezeigt.
- Wenn der Wert ungerade ist, wird der Featureknoten anfänglich erweitert.
- Wenn der Wert gerade ist, wird der Featureknoten anfänglich reduziert.
-
Ebene
-
Die anfängliche Installationsebene dieses Features. Die Verarbeitung der Bedingungstabelle kann den Ebenenwert ändern.
Eine Installationsebene von 0 (null) deaktiviert das Element und verhindert, dass es angezeigt wird. Ein Feature mit einer Installationsstufe von 0 (null) wird während einer Installation nicht installiert, einschließlich administrativer Installationen. Weitere Informationen finden Sie unter "Installationsebene" im Abschnitt "Hinweise" dieses Themas.
-
Verzeichnis_
-
Die Spalte Verzeichnis _ gibt den Namen eines Verzeichnisses an, das mit einem Auswahldialogfeldkonfiguriert werden kann.
Da dieses Feld ein Schlüssel in der Verzeichnistabelleist, muss das angegebene Verzeichnis in der ersten Spalte der Verzeichnistabelle aufgeführt werden. Sie müssen eine öffentliche Eigenschaft in diese Spalte eingeben, um das Verzeichnis konfigurierbar zu machen und um im Auswahldialogfelddie Schaltfläche Durchsuchen anzuzeigen.
-
Attribute
-
Die Remoteausführungsoption für Features, die nicht installiert sind und für die keine Funktionszustandsanforderung mit einer der folgenden Eigenschaften erfolgt.
- ADDLOCAL-Eigenschaft
- ADDSOURCE-Eigenschaft
- ADDDEFAULT-Eigenschaft
- COMPADDLOCAL-Eigenschaft
- COMPADDSOURCE-Eigenschaft
- FILEADDLOCAL-Eigenschaft
- FILEADDSOURCE-Eigenschaft
- REMOVE-Eigenschaft
- REINSTALL-Eigenschaft
- ADVERTISE-Eigenschaft
Fügen Sie dem Gesamtwert dieser Spalte die angegebenen Bits hinzu, um eine Remoteausführungsoption einzuschließt.
- Wenn dieses Feld leer ist, wird standardmäßig der Wert 0 (null) und msidbFeatureAttributesFavorLocal verwendet.
- Wenn die Installationsebene des Features 0 (null) oder größer oder gleich der aktuellen Installationsebene ist, wird der Featurezustand nicht geändert.
Name Decimal Hexadezimal Beschreibung msidbFeatureAttributesFavorLocal 0 0x0000 Komponenten dieses Features, die nicht für die Installation aus der Quelle markiert sind, werden lokal installiert. Eine Komponente, die von zwei oder mehr Features gemeinsam genutzt wird, von denen einige auf msidbFeatureAttributesFavorLocal und andere auf msidbFeatureAttributesFavorSource festgelegt sind, wird lokal installiert. Komponenten, die als msidbComponentAttributesSourceOnly in der Komponententabelle gekennzeichnet sind, werden immer von der Quell-CD/dem Quellserver ausgeführt. Die Bits msidbFeatureAttributesFavorLocal und msidbFeatureAttributesFavorSource funktionieren mit Funktionen, die nicht in der ADVERTISE-Eigenschaftaufgeführt sind. msidbFeatureAttributesFavorSource 1 0x0001 Komponenten dieses Features, die nicht für die lokale Installation markiert sind, werden installiert, um von der CD-ROM-Quelldatei oder dem Quellserver aus ausgeführt zu werden. Eine Komponente, die von zwei oder mehr Features gemeinsam genutzt wird, von denen einige auf msidbFeatureAttributesFavorLocal und andere auf msidbFeatureAttributesFavorSource festgelegt sind, wird installiert, um lokal ausgeführt zu werden. Komponenten, die in der Komponententabelle als msidbComponentAttributesLocalOnly gekennzeichnet sind, werden immer lokal installiert. Die Bits msidbFeatureAttributesFavorLocal und msidbFeatureAttributesFavorSource funktionieren mit Funktionen, die nicht in der ADVERTISE-Eigenschaftaufgeführt sind. msidbFeatureAttributesFollowParent 2 0x0002 Legen Sie dieses Attribut fest, und der Status des Features entspricht dem Zustand des übergeordneten Elements des Features. Sie können diese Option nicht verwenden, wenn sich das Feature im Stamm einer Featurestruktur befindet. Lassen Sie dieses Attribut aus, und der Funktionsstatus wird gemäß msidbFeatureAttributesDisallowAdvertise und msidbFeatureAttributesFavorLocal und msidbFeatureAttributesFavorSource bestimmt.
Um sicherzustellen, dass der Zustand des untergeordneten Features immer dem Zustand des übergeordneten Elements folgt, müssen Sie sowohl msidbFeatureAttributesFollowParent als auch msidbFeatureAttributesUIDisallowAbsent in die Attribute des untergeordneten Features einschließen, auch wenn das untergeordnete und das übergeordnete Element anfänglich im SelectionTree-Steuerelement nicht vorhanden sind.
Beachten Sie Folgendes: Wenn Sie msidbFeatureAttributesFollowParent festlegen, ohne msidbFeatureAttributesUIDisallowAbsent festzulegen, kann das Installationsprogramm das untergeordnete Feature nicht aus dem nicht verfügbaren Zustand erzwingen. In diesem Fall stimmt die untergeordnete Funktion nur dann mit dem Installationsstatus des übergeordneten Elements überein, wenn das untergeordnete Element auf einen anderen als den nicht fehlenden Festgelegt ist.
Legen Sie msidbFeatureAttributesFollowParent und msidbFeatureAttributesUIDisallowAbsent fest, um sicherzustellen, dass ein untergeordnetes Feature dem Zustand des übergeordneten Features folgt.msidbFeatureAttributesFavorAdvertise 4 0x0004 Legen Sie dieses Attribut fest, und der Funktionsstatus lautet "Ankündigen". Wenn das Feature von der ADDDEFAULT-Eigenschaft aufgelistet wird, wird dieses Bit ignoriert, und der Featurestatus wird anhand von msidbFeatureAttributesFavorLocal und msidbFeatureAttributesFavorSource bestimmt. Lassen Sie dieses Attribut aus, und der Funktionsstatus wird gemäß msidbFeatureAttributesDisallowAdvertise und msidbFeatureAttributesFavorLocal und msidbFeatureAttributesFavorSource bestimmt. msidbFeatureAttributesDisallowAdvertise 8 0x0008 Beachten Sie, dass dieses Bit nur mit Features funktioniert, die von der ADVERTISE-Eigenschaftaufgelistet werden. Legen Sie dieses Attribut fest, um zu verhindern, dass das Feature angekündigt wird.
Legen Sie dieses Attribut fest, und wenn das aufgeführte Feature kein übergeordnetes oder untergeordnetes Element ist, wird das Feature gemäß msidbFeatureAttributesFavorLocal und msidbFeatureAttributesFavorSource installiert.
Legen Sie dieses Attribut für das übergeordnete Element eines aufgelisteten Features fest, und das übergeordnete Element wird installiert.
Legen Sie dieses Attribut für das untergeordnete Element eines aufgelisteten Features fest, und der Status des untergeordneten Features ist Absent.
Lässt dieses Attribut aus, und wenn das aufgeführte Feature kein übergeordnetes oder untergeordnetes Element ist, lautet der Funktionsstatus Ankündigen.
Lässt dieses Attribut aus, und wenn das aufgelistete Feature ein übergeordnetes oder untergeordnetes Element ist, lautet der Status beider Features Ankündigen.msidbFeatureAttributesUIDisallowAbsent 16 0x0010 Legen Sie dieses Attribut fest, und auf der Benutzeroberfläche wird keine Option zum Ändern des Funktionszustands in Absent angezeigt. Das Festlegen dieses Attributs erzwingt den Installationsstatus des Features, unabhängig davon, ob das Feature auf der Benutzeroberfläche sichtbar ist. Lassen Sie dieses Attribut aus, und auf der Benutzeroberfläche wird eine Option zum Ändern des Funktionszustands in Absent angezeigt.
Legen Sie msidbFeatureAttributesFollowParent und msidbFeatureAttributesUIDisallowAbsent fest, um sicherzustellen, dass ein untergeordnetes Feature dem Zustand des übergeordneten Features folgt.
Das Festlegen dieses Attributs wirkt sich nicht nur auf die Benutzeroberfläche aus, sondern erzwingt auch den Installationszustand des Features, unabhängig davon, ob das Feature auf der Benutzeroberfläche sichtbar ist oder nicht.msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 Legen Sie dieses Attribut fest, und die Ankündigung ist für das Feature deaktiviert, wenn die Betriebssystemshell Windows Installer-Deskriptoren nicht unterstützt. Dieses Attribut auslassen, und die Werbung ist nicht deaktiviert. Einige Attribute sind exklusiv voneinander. Der Versuch, diese Attribute für dasselbe Feature zusammen festzulegen, führt dazu, dass das Installationspaket die Paketvalidierung nicht erfolgreich ist.
- Verwenden Sie msidbFeatureAttributesFavorAdvertise nicht mit msidbFeatureAttributesDisallowAdvertise.
- Verwenden Sie msidbFeatureAttributesNoUnsupportedAdvertise nicht zusammen mit msidbFeatureAttributesDisallowAdvertise.
- Verwenden Sie msidbFeatureAttributesFollowParent nicht mit msidbFeatureAttributesFavorSource.
- Beachten Sie, dass sich die Werte msidbFeatureAttributesFollowParent und msidbFeatureAttributesFavorLocal gegenseitig ausschließen. Wenn der wert msidbFeatureAttributesFollowParent verwendet wird, wird davon ausgegangen, dass der wert msidbFeatureAttributesFavorLocal nicht vorhanden ist.
Beachten Sie, dass bei der Installation eines untergeordneten Features auch das übergeordnete Feature installiert ist. Wenn ein übergeordnetes Feature installiert ist, wird sein untergeordnetes Feature nicht unbedingt installiert, es sei denn, die Attribute msidbFeatureAttributesFollowParent und msidbFeatureAttributesUIDisallowAbsent sind festgelegt. Diese hierarchische Beziehung der Installation übergeordneter und untergeordneter Features wird auch für gui-Installationen und -Installationen verwendet, die Befehlszeileneigenschaften verwenden.
Bemerkungen
Dieser Tabelle werden mehrere zusätzliche temporäre Spalten hinzugefügt, wenn sie für Berechnungen, die von der Auswahl der Kosten und der Benutzeroberfläche (UI) verwendet werden, in den Arbeitsspeicher geladen wird.
Eine Komponente kann von zwei oder mehr Features oder Anwendungen gemeinsam genutzt werden. Wenn sich zwei oder mehr Features auf dieselbe Komponente beziehen, wird diese Komponente für die Installation ausgewählt, wenn eines der zugeordneten Features ausgewählt ist. Dies kann auch der Grund dafür sein, dass untergeordnete Features nicht deinstalliert werden, wenn ein übergeordnetes Feature entfernt wird. Wenn das untergeordnete Feature aus Komponenten besteht, die von anderen Features oder Anwendungen benötigt werden, entfernt der Windows Installer das untergeordnete Feature nicht.
Weitere Informationen finden Sie unter Steuern von Funktionsauswahlzuständen.
Installationsebene:
- Für jede Installation gibt es eine definierte Installationsebene, bei der es sich um einen ganzzahligen Wert von 1 bis 32.767 handelt. Der Anfangswert wird durch die INSTALLLEVEL-Eigenschaftbestimmt, die in der Eigenschaftentabellefestgelegt ist.
- Ein Feature wird nur installiert, wenn der Featureebenenwert kleiner oder gleich der aktuellen Installationsebene ist. Die Benutzeroberfläche kann so erstellt werden, dass der Benutzer beim Initialisieren der Installation die Installationsebene jedes Features in der Featuretabelle ändern kann. Beispielsweise kann ein Autor Werte auf Installationsebene definieren, die bestimmte Installationsoptionen darstellen, z. B. Benutzerdefiniert, Typisch oder Minimum, und dann ein Dialogfeld erstellen, das SetInstallLevel ControlEvents verwendet, um dem Benutzer die Auswahl eines dieser Zustände zu ermöglichen.
- Abhängig vom vom Benutzer ausgewählten Zustand legt das Dialogfeld die Eigenschaft auf Installationsebene auf den entsprechenden Wert fest. Wenn der Autor Typisch eine Ebene von 100 zuweist und der Benutzer Typisch auswählt, werden nur die Features mit einer Ebene von 100 oder weniger installiert. Darüber hinaus kann die Option Benutzerdefiniert zu einem anderen Dialogfeld führen, das ein SelectionTree-Steuerelemententhält. Mit dem SelectionTree-Steuerelement kann der Benutzer dann einzeln ändern, ob jedes Feature installiert ist.