InstallValidate-Aktion

Mit der Aktion InstallValidate wird überprüft, ob alle Volumes, denen Kosten zugeordnet wurden, über ausreichend Speicherplatz für die Installation verfügen. Mit der Aktion InstallValidate wird die Installation mit einem schwerwiegenden Fehler beendet, wenn auf einem Volume nicht genügend Speicherplatz vorhanden ist.

Mit der Aktion InstallValidate wird der Benutzer auch benachrichtigt, wenn mindestens eine Datei, die überschrieben oder entfernt werden soll, derzeit von einem aktiven Prozess verwendet wird. Weitere Informationen finden Sie unter Systemneustarts.

Sequenzeinschränkungen

Die CostFinalize-Aktion und alle Dialogfeldsequenzen der Benutzeroberfläche, die es dem Benutzer ermöglichen, Auswahlzustände und/oder Verzeichnisse zu ändern, sollten vor der InstallValidate-Aktion sequenziert werden.

Benutzerdefinierte Aktionen, von denen der Installationszustand von Features oder Komponenten geändert wird, müssen vor der InstallValidate-Aktion sequenziert werden.

ActionData Messages

Es gibt keine ActionData-Nachrichten.

Bemerkungen

In der Regel sollte von einer Dialogfeldsequenz der Benutzeroberfläche dieselbe Überprüfung wie von der InstallValidate-Aktion ausgeführt werden, wenn der Benutzer versucht, das Kopieren von Dateien zu initiieren. In dieser Dialogfeldsequenz der Benutzeroberfläche sollte das Dialogfeld Nicht genügend Speicherplatz angezeigt werden, wenn die ausgewählten Volumes nicht über genügend Speicherplatz für die Installation verfügen. Die Dialogfelder der Benutzeroberfläche sollten so erstellt werden, dass der Benutzer nicht mit der Installation fortfahren kann, wenn nicht genügend Speicherplatz vorhanden ist. Bei einer unbeaufsichtigten Installation gibt es keine Benutzeroberfläche. In diesem Fall wird mit der InstallValidate-Aktion die Installation beendet, wenn nicht genügend Speicherplatz vorhanden ist. Die Ursache für die vorzeitige Beendigung wird in der Protokolldatei aufgezeichnet, wenn die Protokollierung aktiviert ist.

Ein Eintrag wird einer internen FilesInUse-Tabelle hinzugefügt, wenn eine beliebige Datei überschrieben oder entfernt wird, während sie bei der Berechnung der Dateikosten für die Ausführung oder Änderung durch einen beliebigen Prozess geöffnet ist. Die FilesInUse-Tabelle enthält Spalten für den Namen und den vollständigen Pfad der Datei. Wenn die InstallValidate-Aktion ausgeführt wird, wird die FilesInUse-Tabelle vom Installationsprogramm nach Einträgen abgefragt. Außerdem wird der Name des Prozesses bestimmt, von dem die Datei verwendet wird. Der ListBox-Benutzeroberflächentabelle wird von der InstallValidate-Aktion ein Datensatz für jeden eindeutigen Prozess hinzugefügt, der durch diese Abfrage identifiziert wird. Der Datensatz enthält in den jeweiligen Spalten die folgenden Werte:

Eigenschaft: FileInUseProcess

 

Wert: Name des Prozesses

 

Text: Text, der in der Beschriftung des Hauptfensters des Prozesses enthalten ist

Mit der InstallValidate-Aktion wird dann das Dialogfeld Verwendete Dateien angezeigt. In diesem Dialogfeld werden die Prozesse angezeigt, die beendet werden müssen, um zu vermeiden, dass das System neu gestartet werden muss, damit verwendete Dateien ersetzt werden können.

Von der InstallValidate-Aktion wird die Dialogfeld-Tabelle nach einem erstellten Dialogfeld mit dem reservierten Namen FilesInUse abgefragt. Dann wird das Dialogfeld angezeigt. Dieses Dialogfeld muss ein ListBox-Steuerelement enthalten, das an eine Eigenschaft mit dem Namen FileInUseProcess gebunden ist. Gemäß der Konvention verfügt dieses Dialogfeld über die Schaltfläche Beenden, Wiederholen oder Ignorieren. Darüber entscheidet jedoch der Autor der Benutzeroberfläche. Jede Schaltfläche sollte an ein EndDialog-ControlEvent in der ControlEvent-Tabelle gebunden sein. Die InstallValidate-Aktion reagiert wie folgt auf den Wert, der vom DoAction-ControlEvent zurückgegeben wird, wie von einem dieser EndDialog-Argumente diktiert, die der vom Benutzer gewählten Schaltfläche zugeordnet sind:

Wiederholen: Alle Werte, die der ListBox-Tabelle hinzugefügt wurden, werden gelöscht, und das gesamte Verfahren der Dateikostenberechnung wird wiederholt, und es wird erneut auf Dateien geprüft, die noch verwendet werden. Wenn mindestens ein Prozess weiterhin als Prozess identifiziert wird, von dem zu überschreibende oder zu löschende Dateien verwendet werden, wird der Prozess wiederholt. Andernfalls wird von der InstallValidate-Aktion die Steuerung mit dem Status msiDoActionStatusSuccess wieder an das Installationsprogramm übergeben.

Beenden: Von der InstallValidate-Aktion wird die Steuerung sofort wieder mit dem Status msiDoActionStatusUserExit an das Installationsprogramm übergeben. Dadurch wird die Installation beendet.

Beenden: Von der InstallValidate-Aktion wird die Steuerung sofort wieder mit dem Status msiDoActionStatusUserExit an das Installationsprogramm übergeben. Da mindestens eine Datei weiterhin verwendet wird, muss in diesem Fall von den nachfolgenden InstallFiles- und/oder InstallAdminPackage-Aktionen geplant werden, dass die verwendete(n) Datei(en) ersetzt oder gelöscht wird/werden, wenn das System neu gestartet wird.

Wenn keine ListBox-Tabelle in der Datenbank vorhanden ist, wird InstallValidate automatisch ohne Fehler beendet.

Das Semikolon ist das Listentrennzeichen für Transformationen, Quellen und Patches und sollte nicht in diesen Dateinamen oder Pfaden verwendet werden.

Dateien, die an einem schreibgeschützten Speicherort als schreibgeschützt gekennzeichnet sind, werden vom Installationsprogramm nie als in Verwendung befindlich betrachtet.

Wenn die Benutzeroberfläche auf die Basisebene festgelegt ist, wird dem Benutzer das Standarddialogfeld Nicht genügend Speicherplatz mit den Schaltflächen Abbrechen und Wiederholen angezeigt.