Benutzerdefinierter Aktionstyp 5
Diese benutzerdefinierte Aktion ist in JScript geschrieben (z. B. ECMA 262). JScript 1.0 wird von Windows Installer nicht unterstützt. Weitere Informationen finden Sie unter Skripts.
`Source`
Das Skript wird aus einem temporären binären Datenstrom generiert. Das Feld Source der Tabelle CustomAction enthält einen Schlüssel für die Tabelle Binary. Die Data-Spalte in der Binary-Tabelle enthält die Datenstromdaten. Jeder Zeile wird ein separater Datenstrom zugeordnet.
Neue Binärdaten können aus einer Datei eingefügt werden, indem MsiRecordSetStream gefolgt von MsiViewModify verwendet wird, um den Datensatz in die Tabelle einzufügen. Wenn die benutzerdefinierte Aktion aufgerufen wird, werden die Datenstromdaten in eine temporäre Datei kopiert, die dann abhängig vom Typ der benutzerdefinierten Aktion verarbeitet 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 + msidbCustomActionTypeBinaryData | 0x05 | 5 |
Der Windows Installer kann benutzerdefinierte 64-Bit-Aktionen bei 64-Bit-Betriebssystemen verwenden. Eine skriptbasierte benutzerdefinierte 64-Bit-Aktion muss das msidbCustomActionType64BitScript-Bit in ihrem numerischen Typ enthalten. Informationen finden Sie unter Benutzerdefinierte 64-Bit-Aktionen. Fügen Sie den folgenden Wert in die Type-Spalte der CustomAction-Tabelle ein, um den grundlegenden numerischen Typ einer benutzerdefinierten 64-Bit-Aktion anzugeben.
Konstanten | Hexadezimal | Decimal |
---|---|---|
msidbCustomActionTypeJScript + msidbCustomActionTypeBinaryData + msidbCustomActionType64BitScript | 0x0001005 | 4101 |
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. Das Installationsprogramm 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.
Wenn eine Datenbanktabelle exportiert wird, wird jeder Datenstrom als separate Datei in den nach der Tabelle benannten Unterordner geschrieben, wobei der Primärschlüssel als Dateiname (Name-Spalte für die Binary-Tabelle) mit der Standarderweiterung „.ibd“ verwendet wird. Der Name sollte das Dateinamenformat 8.3 verwenden, wenn das Dateisystem oder das Versionskontrollsystem keine langen Dateinamen unterstützt. Die persistente Archivdatei ersetzt die Datenstromdaten durch den verwendeten Dateinamen, sodass die Daten beim Importieren der Tabelle gefunden werden können.
Zugehörige Themen