Freigeben über


Commit für benutzerdefinierte Aktionen

Commit benutzerdefinierte Aktionen werden nach erfolgreichem Abschluss des Installationsskripts ausgeführt. Wenn die InstallFinalize-Aktion erfolgreich ist, führt das Installationsprogramm alle vorhandenen benutzerdefinierten Commitaktionen aus. Der einzige Modusparameter, den der Installer in diesem Fall festlegt, ist MSIRUNMODE_COMMIT. Eine Beschreibung der Ausführungsmodusparameter finden Sie unter MsiGetMode-.

Eine benutzerdefinierte Commit-Aktion kann durch Hinzufügen eines Optionskennzeichens zum Feld "Typ" der CustomAction-Tabelleangegeben werden. Informationen zum Kennzeichnen einer benutzerdefinierten Aktion finden Sie unter benutzerdefinierten Aktion In-Script Ausführungsoptionen.

Eine benutzerdefinierte Commitaktion ist die Ergänzung zu einer benutzerdefinierten Rollbackaktion und kann mit rollback-benutzerdefinierten Aktionen verwendet werden, um benutzerdefinierte Aktionen rückgängig zu machen, die Änderungen direkt am System vornehmen.

Beachten Sie, dass eine benutzerdefinierte Rollbackaktion möglicherweise nicht alle Änderungen entfernen kann, die durch Commit von benutzerdefinierten Aktionen vorgenommen wurden. Obwohl das Installationsprogramm sowohl rollback- als auch benutzerdefinierte Aktionen in das Rollbackskript schreibt, werden benutzerdefinierte Aktionen nur ausgeführt, nachdem das Installationsprogramm das Installationsskript erfolgreich verarbeitet hat. Benutzerdefinierte Commitaktionen sind die ersten Aktionen, die im Rollbackskript ausgeführt werden sollen. Wenn ein Commit für eine benutzerdefinierte Aktion fehlschlägt, initiiert das Installationsprogramm rollback, kann jedoch nur diese Vorgänge ausführen, die bereits in das Rollbackskript geschrieben wurden. Dies bedeutet, dass je nach benutzerdefinierter Commitaktion ein Rollback möglicherweise nicht in der Lage ist, die von der Aktion vorgenommenen Änderungen rückgängig zu machen. Sie können Fehler bei benutzerdefinierten Aktionen ignorieren, indem Sie die benutzerdefinierte Aktion erstellen, um Rückgabecodes zu ignorieren.

Rollback und Commit für benutzerdefinierte Aktionen werden nicht ausgeführt, wenn rollback deaktiviert ist. Wenn ein Paketautor diese Arten von benutzerdefinierten Aktionen für die ordnungsgemäße Installation benötigt, sollten sie die RollbackDisabled-Eigenschaft in einer Bedingung verwenden, die verhindert, dass die Installation fortgesetzt wird, wenn rollback deaktiviert ist.