Verwenden einer Sequenztabelle
Die Erstellung der Sequenztabellen ist ein wesentlicher Aspekt bei der Entwicklung eines Installationspakets, da diese Tabellen die Ausführungsreihenfolge für die Standardaktionen angeben, die den Installationsprozess steuern und die Dialogfelder der Benutzeroberfläche anzeigen.
Es gibt drei Installationsmodi und zwei Arten von Sequenztabellen für jeden Modus.
Folgende drei separaten Installationsmodi werden derzeit vom Installer unterstützt:
- Einfache Installation
- Administratorinstallation
- Ankündigungsinstallation
Die Sequenztabellen enthalten jeweils drei Felder: „Action“ (Aktion), „Condition“ (Bedingung) und „Sequence“ (Sequenz). Das Feld „Action“ benennt entweder eine Standardaktion oder eine benutzerdefinierte Aktion bzw. ein benutzerdefiniertes Dialogfeld oder eine Sequenz, die vom Installer ausgeführt wird. Im Feld „Condition“ kann der Autor einen logischen Ausdruck angeben, der steuert, ob eine Aktion ausgeführt oder ein benutzerdefiniertes Dialogfeld angezeigt wird. Wenn das Feld „Condition“ leer ist oder einen als TRUE ausgewerteten Ausdruck enthält, wird die Aktion ausgeführt oder das Dialogfeld angezeigt. Bei Auswertung des Ausdrucks als FALSE wird die Aktion oder das Dialogfeld übersprungen. Das Feld „Sequence“ gibt die Ausführungsreihenfolge der einzelnen Aktionen oder benutzerdefinierten Dialogfelder in der Tabelle an.
Jeder dieser Installationsmodi verarbeitet die Sequenztabellen der Benutzeroberfläche und die Ausführungssequenztabellen. Die Sequenztabellen der Benutzeroberfläche werden nur verarbeitet, wenn der Installer mit der Benutzeroberflächen-Anzeigeebene „Reduziert“ oder „Vollständig“ initialisiert wurde. Weitere Informationen zu Anzeigeebenen der Benutzeroberfläche finden Sie in der Referenz zu MsiSetInternalUI.
Die Sequenztabellen der Benutzeroberfläche enthalten in der Regel Standardaktionen im Zusammenhang mit dem Sammeln von Systeminformationen, die dem Benutzer über die Benutzeroberfläche angezeigt werden. Die Benutzeroberfläche wird angezeigt, indem die Fremdschlüssel für die Namen von Dialogfeldern in der Dialogtabelle im Feld „Action“ der Benutzeroberflächen-Sequenztabelle aufgezeichnet werden. Benutzer*innen haben dann die Möglichkeit, die Systeminformationen zu ändern oder zu akzeptieren und mit der Installation zu beginnen. Dies geschieht, wenn die Ausführungssequenztabelle verarbeitet wird.
Während einer einfachen Installation wird die INSTALL-Aktion auf oberster Ebene ausgeführt, die wiederum die InstallUISequence-Tabelle und die InstallExecuteSequence-Tabelle verarbeitet.
Eine Administratorinstallation wird in der Regel von einem/einer Netzwerkadministrator*in initiiert, um Anwendungen für einzelne Benutzer*innen und Benutzergruppen zuzuweisen und zu installieren. Bei dieser Art der Installation wird die ADMIN-Aktion der obersten Ebene ausgeführt, welche die AdminUISequence-Tabelle und die AdminExecuteSequence-Tabelle verarbeitet.
Um eine Anwendung oder ein Feature anzukündigen, muss der Installer mit der ADVERTISE-Aktion initiiert werden. Bei dieser Art der Installation wird die AdvtExecuteSequence-Tabelle verarbeitet.
Beim Erstellen einer Sequenztabelle empfiehlt es sich, die Sequenznummer für Standardaktionen aus den vorgeschlagenen Sequenzen in den folgenden Themen zu verwenden. Verwenden Sie für Standardaktionen, die in der Sequenztabelle keine Standardposition aufweisen, z. B. ForceReboot, ValidateProductID und InstallExecute, eine Sequenznummer, die ein Vielfaches von zehn ist, um die Aktion als Standardaktion zu identifizieren. Verwenden Sie für benutzerdefinierte Aktionen eine Sequenznummer, die kein Vielfaches von zehn ist, um sie von Standardaktionen in der Sequenztabelle zu unterscheiden.
Vorgeschlagene Aktionssequenzen für die einzelnen Sequenztabellen finden Sie in den folgenden Themen:
- Vorgeschlagene InstallUISequence
- Vorgeschlagene InstallExecuteSequence
- Vorgeschlagene AdminUISequence
- Vorgeschlagene AdminExecuteSequence
- Vorgeschlagene AdvtUISequence
- Vorgeschlagene AdvtExecuteSequence
Eine ausführliche Beschreibung der Sequenztabellen und der Ausführung von Standardaktionen finden Sie im ausführlichen Beispiel zu Sequenztabellen.
**Windows Installer 3.0 und höher: **
Ab Windows Installer 3.0 kann ein Patchpaket die MsiPatchSequence-Tabelle enthalten. Diese Tabelle enthält alle Informationen, die der Installer benötigt, um die Reihenfolge der Anwendung eines Patches für kleine Updates relativ zu allen anderen Patches zu bestimmen. Weitere Informationen finden Sie unter Patchen und Upgrades.
Hinweis
Mergemodule können Mergemodul-Datenbanktabellen enthalten, die die Aktionssequenztabellen der MSI-Zieldatei ändern. Durch Zusammenführen des Moduls in einer Datenbank können sich die Informationen in der Sequenztabelle ändern, aber diese Tabellen werden dadurch nicht der MSI-Datei hinzugefügt. Weitere Informationen finden Sie unter Erstellen von Mergemodulsequenztabellen.