Freigeben über


Benutzerdefinierter Aktionstyp 2

Diese benutzerdefinierte Aktion ruft eine ausführbare Datei auf, die mit einer Befehlszeile gestartet wird.

Quelle

Die ausführbare Datei wird aus einem temporären binären Datenstrom generiert. Das Quellfeld der CustomAction-Tabelle enthält einen Schlüssel zur Binary-Tabelle. Die Datenspalte in der Binärtabelle enthält die Datenstromdaten. Jeder Zeile wird ein separater Datenstrom zugewiesen.

Neue Binärdaten können aus einer Datei eingefügt werden, indem MsiRecordSetStream- gefolgt von MsiViewModify, 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.

Typwert

Fügen Sie den folgenden Wert in die Spalte "Typ" der CustomAction-Tabelle ein, um den grundlegenden numerischen Typ anzugeben.

Konstanten Hexadezimal Dezimal
msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData- 0x002 2

 

Ziel

Die Zielspalte der CustomAction-Tabelle enthält die Befehlszeilenzeichenfolge für die ausführbare Datei, die in der Spalte "Quelle" benannt ist.

Rückgabeverarbeitungsoptionen

Fügen Sie optionale Flagbits in die Spalte "Typ" der CustomAction-Tabelle ein, um Rückgabeverarbeitungsoptionen anzugeben. Eine Beschreibung der Optionen und werte finden Sie unter Benutzerdefinierte Aktion Rückgabeverarbeitungsoptionen.

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

Fügen Sie optionale Flagbits in die Spalte "Typ" der CustomAction-Tabelle ein, um eine In-Script-Ausführungsoption anzugeben. Mit diesen Optionen wird der Aktionscode in das Ausführungs-, Rollback- oder Commitskript kopiert. Eine Beschreibung der Optionen finden Sie unter Benutzerdefinierte Aktion In-Script Ausführungsoptionen.

Rückgabewerte

Benutzerdefinierte Aktionen, die ausführbare Dateien sind, müssen den Wert 0 für den Erfolg zurückgeben. Der Installer interpretiert jeden anderen Rückgabewert als Fehler. Um Rückgabewerte zu ignorieren, legen Sie die msidbCustomActionTypeContinue Bitkennzeichnung im Feld "Typ" der CustomAction-Tabelle fest.

Bemerkungen

Eine benutzerdefinierte Aktion, die eine ausführbare Datei startet, verwendet eine Befehlszeile, die häufig Eigenschaften enthält, die dynamisch festgelegt werden. Wenn dies auch eine benutzerdefinierte Ausführungsaktionist, verwendet das Installationsprogramm CreateProcessAsUser- oder CreateProcess-, um den Prozess zu erstellen, wenn die benutzerdefinierte Aktion über das Installationsskript aufgerufen wird.

Wenn eine Datenbanktabelle exportiert wird, wird jeder Datenstrom als separate Datei im Unterordner geschrieben, der nach der Tabelle benannt ist, wobei der Primärschlüssel als Dateiname (Name-Spalte für die Binärtabelle) mit der Standarderweiterung ".ibd" verwendet wird. Der Name sollte das Format 8.3 verwenden, wenn das Dateisystem oder das Versionssteuerungssystem keine langen Dateinamen unterstützt. Die permanente Archivdatei ersetzt die Datenstromdaten durch den verwendeten Dateinamen, sodass die Daten beim Importieren der Tabelle gefunden werden können.

Custom_Actions

ausführbare Dateien