Benutzerdefinierter Aktionstyp 51
Diese benutzerdefinierte Aktion legt eine Eigenschaft aus einer formatierten Textzeichenfolge fest.
Um sich auf eine Eigenschaft auszuwirken, die in einer Bedingung bei einer Komponente oder Funktion verwendet wird, muss die benutzerdefinierte Aktion in der Aktionssequenz vor der Aktion CostFinalize erfolgen.
`Source`
Das Feld „Source“ der Tabelle „CustomAction“ kann entweder den Namen einer Eigenschaft oder einen Schlüssel für die Tabelle „Property“ enthalten. Diese Eigenschaft wird durch die formatierte Zeichenfolge im Feld „Target“ mit MsiSetProperty festgelegt.
Type-Wert
Fügen Sie den folgenden Wert in die Type-Spalte der CustomAction-Tabelle ein, um den grundlegenden numerischen Typ anzugeben.
Konstanten | Hexadezimal | Decimal |
---|---|---|
msidbCustomActionTypeTextData + msidbCustomActionTypeProperty | 0x033 | 51 |
Ziel
Die Spalte „Target“ der Tabelle „CustomAction“ enthält eine Textzeichenfolge, die mit der in MsiFormatRecord festgelegten Funktionalität formatiert ist (ohne die numerischen Feldspezifizierer). Zu ersetzende Parameter sind in eckige Klammern [...] eingeschlossen. Sie können Eigenschaften, Umgebungsvariablen (Präfix %), Dateipfade (Präfix #) oder Komponenten-Verzeichnispfade (Präfix $) sein.
Optionen für die Rückgabeverarbeitung
Die benutzerdefinierte Aktion verwendet diese Optionen nicht.
Optionen für die Ausführungsplanung
Fügen Sie optionale Flagbits in die Type-Spalte der CustomAction-Tabelle ein, um Optionen für die Ausführungsplanung anzugeben. Diese Optionen steuern die mehrfache Ausführung benutzerdefinierter Aktionen. Eine Beschreibung der Optionen finden Sie unter Optionen für die Ausführungsplanung benutzerdefinierter Aktionen.
Optionen für die skriptinterne Ausführung
Die benutzerdefinierte Aktion verwendet diese Optionen nicht.
Rückgabewerte
Weitere Informationen finden Sie unter Rückgabewerte für benutzerdefinierte Aktionen.
Bemerkungen
Wenn Sie eine private Eigenschaft in der UI-Sequenz festlegen, indem Sie eine benutzerdefinierte Aktion in einer der Sequenztabellen der Benutzeroberfläche erstellen, wird diese Eigenschaft in der Ausführungssequenz nicht festgelegt. Um die Eigenschaft in der Ausführungssequenz festzulegen, müssen Sie auch eine benutzerdefinierte Aktion in eine Ausführungssequenztabelle aufnehmen. Alternativ können Sie die Eigenschaft als öffentliche Eigenschaft festlegen und in die Eigenschaft SecureCustomProperties einschließen.
Zugehörige Themen