Benutzerdefinierter Aktionstyp 51
Diese benutzerdefinierte Aktion legt eine Eigenschaft aus einer formatierten Textzeichenfolge fest.
Um eine Eigenschaft zu beeinflussen, die in einer Bedingung für eine Komponente oder ein Feature verwendet wird, muss die benutzerdefinierte Aktion vor der CostFinalize-Aktion in der Aktionssequenz erfolgen.
Quelle
Das Quellfeld der CustomAction-Tabelle kann entweder den Namen einer Eigenschaft oder einen Schlüssel zur Eigenschaftentabelleenthalten. Diese Eigenschaft wird durch die formatierte Zeichenfolge im Zielfeld mithilfe MsiSetProperty-festgelegt.
Typwert
Fügen Sie den folgenden Wert in die Spalte "Typ" der CustomAction-Tabelle ein, um den grundlegenden numerischen Typ anzugeben.
Konstanten | Hexadezimal | Dezimal |
---|---|---|
msidbCustomActionTypeTextData + msidbCustomActionTypeProperty | 0x033 | 51 |
Ziel
Die Zielspalte der CustomAction-Tabelle enthält eine Textzeichenfolge, die mithilfe der in MsiFormatRecord (ohne numerische Feldbezeichner) angegebenen Funktionalität formatiert ist. Parameter, die ersetzt werden sollen, sind in eckige Klammern , [...] eingeschlossen und können Eigenschaften, Umgebungsvariablen (% Präfix), Dateipfade (#-Präfix) oder Komponentenverzeichnispfade ($-Präfix) sein.
Rückgabeverarbeitungsoptionen
Die benutzerdefinierte Aktion verwendet diese Optionen nicht.
Ausführungsplanungsoptionen
Fügen Sie optionale Flagbits in die Spalte "Typ" der CustomAction-Tabelle ein, um Ausführungsplanungsoptionen anzugeben. Diese Optionen steuern die mehrfache Ausführung von benutzerdefinierten Aktionen. Eine Beschreibung der Optionen finden Sie unter Benutzerdefinierte Optionen für die Ausführung von Aktionen.
In-Script Ausführungsoptionen
Die benutzerdefinierte Aktion verwendet diese Optionen nicht.
Rückgabewerte
Siehe benutzerdefinierte Aktionsrückgabewerte.
Bemerkungen
Wenn Sie eine private Eigenschaft in der UI-Sequenz festlegen, indem Sie eine benutzerdefinierte Aktion in einer der Benutzeroberflächensequenztabellen erstellen, wird diese Eigenschaft nicht in der Ausführungssequenz festgelegt. Um die Eigenschaft in der Ausführungssequenz festzulegen, müssen Sie auch eine benutzerdefinierte Aktion in eine Ausführungssequenztabelle einfügen. Alternativ können Sie die Eigenschaft zu einer öffentlichen Eigenschaft machen und sie in die SecureCustomProperties-Eigenschafteinschließen.
Verwandte Themen