Freigeben über


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.

Custom_Actions

formatierten benutzerdefinierten Textaktionen