Benutzerdefinierter Aktionstyp 21
Diese benutzerdefinierte Aktion ist in JScript geschrieben, wie ECMA 262. JScript 1.0 wird von Windows Installer nicht unterstützt. Weitere Informationen finden Sie unter Skripts.
`Source`
Das Skript wird während der aktuellen Sitzung zusammen mit der Anwendung installiert. Das Feld „Source“ der Tabelle „CustomAction“ enthält einen Schlüssel für die Tabelle „File“. Der Speicherort des Codes der benutzerdefinierten Aktion wird durch die Auflösung des Zielpfads für diese Datei bestimmt. Daher muss diese benutzerdefinierte Aktion aufgerufen werden, nachdem die Datei installiert wurde und bevor sie entfernt wird.
Type-Wert
Fügen Sie den folgenden Wert in die Type-Spalte der CustomAction-Tabelle ein, um den grundlegenden numerischen Typ einer benutzerdefinierten 32-Bit-Aktion anzugeben.
Konstanten | Hexadezimal | Decimal |
---|---|---|
msidbCustomActionTypeJScript + msidbCustomActionTypeSourceFile | 0x015 | 21 |
Windows Installer kann unter 64-Bit-Betriebssystemen benutzerdefinierte 64-Bit-Aktionen verwenden. Eine skriptbasierte benutzerdefinierte 64-Bit-Aktion muss das Bit msidbCustomActionType64BitScript im numerischen Typ enthalten. Weitere Informationen finden Sie unter „Benutzerdefinierte 64-Bit-Aktionen“. Fügen Sie den folgenden Wert in die Spalte „Type“ der Tabelle „CustomAction“ ein, um den grundlegenden numerischen Typ einer benutzerdefinierten 64-Bit-Aktion anzugeben.
Konstanten | Hexadezimal | Decimal |
---|---|---|
msidbCustomActionTypeJScript + msidbCustomActionTypeSourceFile + msidbCustomActionType64BitScript | 0x0001015 | 4117 |
Ziel
Das Feld Target der Tabelle CustomAction enthält eine optionale Skriptfunktion. Die Verarbeitung sendet zunächst das Skript für die Analyse und ruft dann die optionale Skriptfunktion auf.
Optionen für die Rückgabeverarbeitung
Fügen Sie optionale Flagbits in die Type-Spalte der CustomAction-Tabelle ein, um Optionen für die Rückgabeverarbeitung anzugeben. Eine Beschreibung der Optionen und Werte finden Sie unter Optionen für die Rückgabeverarbeitung von benutzerdefinierten Aktionen.
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
Fügen Sie optionale Flagbits in die Type-Spalte der CustomAction-Tabelle ein, um Optionen für die skriptinterne Ausführung anzugeben. Diese Optionen kopieren den Aktionscode in das Ausführungs-, Rollback- oder Commitskript. Eine Beschreibung der Optionen finden Sie unter Optionen für die skriptinterne Ausführung von benutzerdefinierten Aktionen.
Rückgabewerte
Optionale Funktionen, die in Skript geschrieben wurden, müssen einen der unter Rückgabewerte von benutzerdefinierten Aktionen von JScript und VBScript beschriebenen Werte zurückgeben.
Bemerkungen
Eine benutzerdefinierte Aktion, die in JScript oder VBScript geschrieben ist, erfordert die Installation des Session-Objekts. Der Installer fügt das Session-Objekt mit dem Namen „Session“ an das Skript an. Da das Session-Objekt während eines Installationsrollbacks möglicherweise nicht vorhanden ist, muss eine verzögerte benutzerdefinierte Aktion im Skript zum Abrufen des Kontexts eine der Methoden oder Eigenschaften des Session-Objekts verwenden, die im Abschnitt Abrufen von Kontextinformationen für verzögert auszuführende benutzerdefinierte Aktionen beschrieben sind.
Benutzerdefinierte Aktionen, die auf eine installierte Datei als Quelle verweisen, z. B. der benutzerdefinierte Aktionstyp 21 (JScript), müssen die folgenden Sequenzierungseinschränkungen einhalten:
- Die benutzerdefinierte Aktion muss in der Sequenz nach der Aktion CostFinalize stehen. Das ist erforderlich, damit die benutzerdefinierte Aktion den Pfad zum Suchen der Quelldatei auflösen kann, die das JScript enthält.
- Wenn die Quelldatei noch nicht auf dem Computer installiert ist, müssen verzögerte (skriptinterne) benutzerdefinierte Aktionen dieses Typs nach der Aktion InstallFiles sequenziert werden.
- Wenn die Quelldatei noch nicht auf dem Computer installiert ist, müssen nicht verzögerte benutzerdefinierte Aktionen dieses Typs nach der InstallFinalize-Aktion sequenziert werden.
Zugehörige Themen