Verzögerte Ausführung benutzerdefinierte Aktionen

Der Zweck einer verzögerten benutzerdefinierten Ausführungsaktion besteht darin, die Ausführung einer Systemänderung zu dem Zeitpunkt zu verzögern, zu dem das Installationsskript ausgeführt wird. Dies unterscheidet sich von einer regulären benutzerdefinierten Aktion oder einer Standardaktion, in der das Installationsprogramm die Aktion sofort ausführt, nachdem sie in einer Sequenztabelle oder in einem Aufruf von MsiDoAction angezeigt wird. Eine benutzerdefinierte Aktion mit verzögerter Ausführung ermöglicht es einem Paketautor, Systemvorgänge an einem bestimmten Punkt innerhalb der Ausführung des Installationsskripts anzugeben.

Das Installationsprogramm führt keine benutzerdefinierte Ausführungsaktion zum Zeitpunkt der Verarbeitung der Installationssequenz aus. Stattdessen schreibt das Installationsprogramm die benutzerdefinierte Aktion in das Installationsskript. Der einzige Modusparameter, den das Installationsprogramm in diesem Fall festlegt, ist MSIRUNMODE_SCHEDULED. Weitere Informationen finden Sie unter MsiGetMode für eine Beschreibung der Ausführungsmodusparameter.

Eine benutzerdefinierte Aktion für die verzögerte Ausführung muss in der Ausführungssequenztabelle innerhalb des Abschnitts geplant werden, in dem Skriptgenerierung ausgeführt wird. Die verzögerte Ausführung benutzerdefinierter Aktionen muss nach InstallInitialize kommen und vor InstallFinalize in der Aktionssequenz kommen.

Benutzerdefinierte Aktionen, die Eigenschaften, Featurezustände, Komponentenzustände oder Zielverzeichnisse festlegen oder Systemvorgänge planen, indem Zeilen in Sequenztabellen eingefügt werden, können in vielen Fällen die sofortige Ausführung sicher verwenden. Benutzerdefinierte Aktionen, die das System direkt ändern oder einen anderen Systemdienst aufrufen, müssen jedoch auf den Zeitpunkt der Ausführung des Installationsskripts zurückgestellt werden. Weitere Informationen zu potenziellen Konflikten zwischen ihren benutzerdefinierten Aktionen und dem Hauptinstallationsthread finden Sie unter Synchrone und asynchrone benutzerdefinierte Aktionen.

Da das Installationsskript außerhalb der Installationssitzung ausgeführt werden kann, in der sie geschrieben wurde, kann die Sitzung während der Ausführung des Installationsskripts möglicherweise nicht mehr vorhanden sein. Dies bedeutet, dass der ursprüngliche Sitzungshandpunkt und der Eigenschaftendatensatz während der Installationssequenz für eine verzögerte Ausführung benutzerdefinierte Aktion nicht verfügbar ist. Verzögerte benutzerdefinierte Aktionen, die dynamische Linkbibliotheken (DLLs) aufrufen, übergeben einen Handle, der nur zum Abrufen einer sehr begrenzten Menge von Informationen verwendet werden kann, wie in der Gewinnung von Kontextinformationen für verzögerte Ausführung benutzerdefinierte Aktionen beschrieben.

Beachten Sie, dass verzögerte benutzerdefinierte Aktionen, einschließlich benutzerdefinierter Rollbackaktionen und benutzerdefinierte Aktionen, die nur Arten von Aktionen sind, die außerhalb des Sicherheitskontexts der Benutzer ausgeführt werden können.

Benutzerdefinierte Aktion In-Script Ausführungsoptionen

Benutzerdefinierte Aktionsreferenz