Benutzerdefinierter Aktionstyp 18

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

`Source`

Die ausführbare Datei wird aus einer Datei generiert, die mit der Anwendung installiert wurde. Das Source-Feld der CustomAction-Tabelle enthält einen Schlüssel für die Binary-Tabelle. 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 anzugeben.

Konstanten Hexadezimal Decimal
msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18

 

Ziel

Die Spalte Ziel der Tabelle CustomAction enthält die Befehlszeilenzeichenfolge für die ausführbare Datei, die in der Spalte Source identifiziert wird.

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

Benutzerdefinierte Aktionen, die ausführbare Dateien sind, müssen den Wert 0 zurückgeben, um erfolgreich zu sein. Das Installationsprogramm interpretiert jeden anderen Rückgabewert als Fehler. Um Rückgabewerte zu ignorieren, legen Sie das msidbCustomActionTypeContinue-Bitflag im Type-Feld der CustomAction-Tabelle fest.

Bemerkungen

Für benutzerdefinierte Aktionen, die eine ausführbare Datei starten, ist eine Befehlszeile erforderlich, die häufig dynamisch festgelegte Eigenschaften enthält. Wenn dies auch eine verzögert auszuführende benutzerdefinierte Aktion ist, verwendet das Installationsprogramm CreateProcessAsUser oder CreateProcess, um den Prozess zu erstellen, wenn die benutzerdefinierte Aktion über das Installationsskript aufgerufen wird.

Benutzerdefinierte Aktionen, die auf eine installierte Datei als Quelle verweisen, z. B. Benutzerdefinierter Aktionstyp 18 (EXE), müssen die folgenden Sequenzierungseinschränkungen einhalten:

  • Die benutzerdefinierte Aktion muss nach der CostFinalize-Aktion sequenziert werden. Dies ist so, damit die benutzerdefinierte Aktion den Pfad auflösen kann, der zum Auffinden der EXE erforderlich ist.
  • Wenn die Quelldatei noch nicht auf dem Computer installiert ist, müssen verzögerte (skriptinterne) benutzerdefinierte Aktionen dieses Typs nach der InstallFiles-Aktion 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.

Custom_Actions

Ausführbare Dateien