Session.FeatureRequestState(Eigenschaft)
Die FeatureRequestState-Eigenschaft ist eine Lese-/Schreibeigenschaft des Session-Objekts. Sie kann verwendet werden, um den aktuellen Aktionsstatus eines Features zu erhalten oder eine Änderung der Aktion eines Features und seiner Unterfeatures an fordern. Das Feature muss in der Tabelle Feature benannt werden. Wenn eine Änderung des Aktionszustands eines Features angefordert wird, kann auch der Aktionszustand aller Komponenten des geänderten Features geändert werden. Der Aktionsstatus von Komponenten, die von mehr als einem Feature gemeinsam genutzt werden, wird entsprechend dem neuen Featureaktionsstatus geändert (siehe Hinweise). Die FeatureRequestState-Eigenschaft kann auch verwendet werden, um alle Features gleichzeitig zu konfigurieren, indem das Schlüsselwort ALL anstelle eines bestimmten Featurenamens angegeben wird.
Dies ist eine Eigenschaft mit Lese- und Schreibzugriff.
Syntax
propVal = Session.FeatureRequestState
Session.FeatureRequestState = propVal
Eigenschaftswert
Erforderliche Zeichenfolge, die den Namen des zu konfigurierenden Features angibt. Um alle Features auf den gewünschten Anforderungszustand zu setzen, verwenden Sie das reservierte Wort, bei dem die Groß-/Kleinschreibung nicht beachtet wird: ALL.
Hinweise
Die SetInstallLevel-Methode muss aufgerufen werden, bevor FeatureRequestState aufgerufen wird.
Wenn der aktuelle Zustand des Features angefordert wird, gibt die FeatureRequestState-Eigenschaft einen der folgenden Werte zurück.
| Name des Auswahlzustands | Bedeutung |
|---|---|
| msiInstallStateUnknown = -1 | Für das Feature wird keine Aktion ergriffen. Dies entspricht NULL. |
| msiInstallStateAdvertised =1 | Das Feature soll angekündigt werden. |
| msiInstallStateAbsent = 2 | Das Feature muss entfernt werden. |
| msiInstallStateLocal = 3 | Das Feature muss als "run-local" installiert werden. |
| msiInstallStateSource = 4 | Das Feature muss als "Run-from-Source" installiert werden. |
| msiInstallStateDefault = 5 | Das Feature muss mit dem aktuellen Aktionsstatus des Features neu installiert werden. |
Der folgende Befehl erhält beispielsweise den aktuellen Status von "MyFeature" aus einer benutzerdefinierten VBScript-Aktion.
Dim iRequestState
iRequestState = Session.FeatureRequestState("MyFeature")
Wenn der Zustand des Features konfiguriert wird, sollte die FeatureRequestState-Eigenschaft auf einen der folgenden Werte festgelegt werden.
| Name des Auswahlzustands | Bedeutung |
|---|---|
| msiInstallStateAdvertised = 1 | Geben Sie das Feature an. |
| msiInstallStateAbsent = 2 | Entfernen Sie das Feature. |
| msiInstallStateLocal = 3 | Installieren Sie das Feature als run-local. |
| msiInstallStateSource = 4 | Installieren Sie das Feature als "Run-from-Source". |
Die folgenden Anforderungen werden beispielsweise von einer benutzerdefinierten VBScript-Aktion ausgeführt, die "MyFeature" installiert, um lokal auf dem Computer ausgeführt zu werden.
Session.FeatureRequestState("MyFeature")=3
Wenn FeatureRequestState aufgerufen wird, versucht das Installationsprogramm, den Aktionszustand jeder Komponente, die an das angegebene Feature gebunden ist, so gut wie möglich auf den angegebenen Zustand festzulegen. Es gibt jedoch häufig Situationen, in denen die Anforderung nicht vollständig umgesetzt werden kann. Wenn ein Feature beispielsweise über die Tabelle FeatureComponents an zwei Komponenten gebunden ist: Komponente A und Komponente B, und Komponente A verfügt über das Attribut msidbComponentAttributesLocalOnly und Komponente B über das Attribut msidbComponentAttributesSourceOnly. Wenn in diesem Fall FeatureRequestState mit dem angeforderten Status msiInstallStateLocal oder msiInstallStateSource aufgerufen wird, kann die Anforderung für beide Komponenten nicht unterstützt werden. In diesem Fall können beide Komponenten aktiviert werden, wenn Komponente A auf msiInstallStateLocal und Komponente B auf msiInstallStateSource festgelegt ist.
Wenn mehrere Features mit einer einzelnen Komponente verknüpft sind, wird der endgültige Aktionsstatus dieser Komponente wie folgt bestimmt: Wenn mindestens ein Feature die lokale Installation der Komponente aufruft, wird msiInstallStateLocal installiert. Wenn mindestens ein Feature die Ausführung der Komponente über das Quellmedium aufruft, wird msiInstallStateSource installiert. Wenn mindestens ein Feature die Entfernung der Komponente erfordert, ist der Aktionsstatus msiInstallStateAbsent. Weitere Informationen dazu, wie Features für die Installation ausgewählt werden, finden Sie in der Tabelle Feature.
Wenn die Eigenschaft fehlschlägt, können Sie erweiterte Fehlerinformationen mithilfe der LastErrorRecord-Methode abrufen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Version |
Windows Installer 5.0 auf Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 auf Windows Server 2008 oder Windows Vista. Windows Installationsprogramm auf Windows Server 2003 oder Windows XP |
| DLL |
|
| IID |
IID ISession ist als _ 000C109E-0000-0000-C000-000000000046 definiert. |