Session.FeatureRequestState-Eigenschaft
Die FeatureRequestState-Eigenschaft ist eine les-/schreibbare Eigenschaft des Session-Objekts. Sie kann verwendet werden, um den aktuellen Aktionszustand eines Features abzurufen oder um eine Änderung der Aktion eines Features und seiner Unterfeatures anzufordern. Das Feature muss in der Feature-Tabelle benannt sein. Wenn eine Änderung des Aktionszustands eines Features angefordert wird, wird möglicherweise auch der Aktionszustand aller Komponenten des geänderten Features geändert. Der Aktionszustand von Komponenten, die von mehr als einem Feature gemeinsam genutzt werden, wird entsprechend dem neuen Aktionszustand des Features 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 einen gewünschten Anforderungszustand festzulegen, verwenden Sie das reservierte Wort ohne Beachtung der Groß-/Kleinschreibung: ALL.
Bemerkungen
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 ausgeführt. Dies entspricht „Null“. |
msiInstallStateAdvertised =1 | Das Feature soll angekündigt werden. |
msiInstallStateAbsent = 2 | Das Feature soll entfernt werden. |
msiInstallStateLocal = 3 | Das Feature soll als „run-local“ (lokal ausführen) installiert werden. |
msiInstallStateSource = 4 | Das Feature soll als „run-from-source“ (aus Quelle ausführen) installiert werden. |
msiInstallStateDefault = 5 | Das Feature soll mit dem aktuellen Aktionszustand des Features neu installiert werden. |
Mit Folgendem wird beispielsweise der aktuelle Zustand von „MyFeature“ aus einer benutzerdefinierten VBScript-Aktion abgerufen.
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 | Feature ankündigen. |
msiInstallStateAbsent = 2 | Feature entfernen. |
msiInstallStateLocal = 3 | Feature als „run-local“ (lokal ausführen) installieren. |
msiInstallStateSource = 4 | Feature als „run-from-source“ (aus Quelle ausführen) installieren. |
Mit Folgendem wird beispielsweise von einer benutzerdefinierten VBScript-Aktion angefordert, dass „MyFeature“ für die lokale Ausführung auf dem Computer installiert wird.
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 festzulegen. Es gibt jedoch häufig Situationen, in denen die Anforderung nicht vollständig erfüllt werden kann. Wenn ein Feature beispielsweise über die FeatureComponents-Tabelle an zwei Komponenten gebunden ist, Komponente A und Komponente B, und Komponente A über das msidbComponentAttributesLocalOnly-Attribut verfügt und Komponente B über das msidbComponentAttributesSourceOnly-Attribut. Wenn FeatureRequestState in diesem Fall mit dem angeforderten Zustand „msiInstallStateLocal“ oder „msiInstallStateSource“ aufgerufen wird, kann die Anforderung nicht für beide Komponenten erfüllt werden. In diesem Fall können beide Komponenten aktiviert werden, wobei Komponente A auf „msiInstallStateLocal“ und Komponente B auf „msiInstallStateSource“ festgelegt wird.
Wenn mehr als ein Feature mit einer einzelnen Komponente verknüpft ist, wird der endgültige Aktionszustand dieser Komponente wie folgt bestimmt: Wenn mindestens ein Feature die lokale Installation der Komponente aufruft, wird sie mit „msiInstallStateLocal“ installiert. Wenn mindestens ein Feature die Ausführung der Komponente vom Quellmedium aus aufruft, wird sie mit „msiInstallStateSource“ installiert. Wenn mindestens ein Feature das Entfernen der Komponente aufruft, lautet der Aktionszustand „msiInstallStateAbsent“. Weitere Informationen dazu, wie Features für die Installation ausgewählt werden, finden Sie in der Feature-Tabelle.
Wenn die Eigenschaft fehlschlägt, können Sie die erweiterten Fehlerinformationen mit der LastErrorRecord-Methode abrufen.
Anforderungen
Anforderung | Wert |
---|---|
Version |
Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP |
DLL |
|
IID |
IID_ISession ist definiert als 000C109E-0000-0000-C000-000000000046 |
Siehe auch