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.
Zugehörige Themen