Benutzerdefinierter Aktionstyp 18
Diese benutzerdefinierte Aktion ruft eine ausführbare Datei auf, die über eine Befehlszeile gestartet wurde.
Source
Die ausführbare Datei wird aus einer Datei generiert, die mit der Anwendung installiert wurde. Das Feld Source der CustomAction-Tabelle enthält einen Schlüssel für die Dateitabelle. Der Speicherort des benutzerdefinierten Aktionscodes wird durch die Auflösung des Zielpfads für diese Datei bestimmt. Daher muss diese benutzerdefinierte Aktion aufgerufen werden, nachdem die Datei installiert und entfernt wurde.
Typwert
Fügen Sie den folgenden Wert in die Spalte Typ der CustomAction-Tabelle ein, um den grundlegenden numerischen Typ anzugeben.
| Konstanten | Hexadezimal | Decimal |
|---|---|---|
| msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile | 0x012 | 18 |
Ziel
Die Spalte Target der CustomAction-Tabelle enthält die Befehlszeilenzeichenfolge für die ausführbare Datei, die in der Spalte Source angegeben ist.
Optionen für die Rückgabeverarbeitung
Schließen Sie optionale Flagbits in die Spalte Typ der CustomAction-Tabelle ein, um Rückgabeverarbeitungsoptionen anzugeben. Eine Beschreibung der Optionen und Werte finden Sie unter Rückgabeverarbeitungsoptionen für benutzerdefinierte Aktionen.
Optionen für die Ausführungsplanung
Schließen Sie optionale Flagbits in die Spalte Typ 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 Benutzerdefinierte Aktionsausführungsplanung.
In-Script Ausführungsoptionen
Schließen Sie optionale Flagbits in die Spalte Typ der CustomAction-Tabelle ein, um eine Skriptausführungsoption anzugeben. Diese Optionen kopieren den Aktionscode in das Ausführungs-, Rollback- oder Commitskript. Eine Beschreibung der Optionen finden Sie unter Benutzerdefinierte Aktion In-Script Ausführungsoptionen.
Rückgabewerte
Benutzerdefinierte Aktionen, bei denen es sich um ausführbare Dateien handelt, müssen den Wert 0 zurückgeben, um erfolgreich zu sein. Das Installationsprogramm interpretiert alle anderen Rückgabewerte als Fehler. Um Rückgabewerte zu ignorieren, legen Sie das Bitflag msidbCustomActionTypeContinue im Feld Type 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 es sich auch um eine benutzerdefinierte Aktion mit verzögerter Ausführung handelt,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, dass die benutzerdefinierte Aktion den Pfad auflösen kann, der zum Suchen der EXE-Datei erforderlich ist.
- Wenn die Quelldatei noch nicht auf dem Computer installiert ist, müssen verzögerte (skriptbasierte) 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.