InstallValidate-Aktion
Die InstallValidate-Aktion überprüft, ob alle Volumes, denen Kosten zugeordnet wurden, über ausreichend Speicherplatz für die Installation verfügen. Die InstallValidate-Aktion beendet die Installation mit einem schwerwiegenden Fehler, wenn auf einem Volume nicht genügend Speicherplatz verfügbar ist.
Die InstallValidate-Aktion benachrichtigt den Benutzer auch, wenn eine oder mehrere dateien, die überschrieben oder entfernt werden sollen, derzeit von einem aktiven Prozess verwendet werden. Weitere Informationen finden Sie unter Systemneustarts.
Sequenzeinschränkungen
Die CostFinalize-Aktion und alle Ui-Dialogfeldsequenzen, die es dem Benutzer ermöglichen, Auswahlzustände und/oder Verzeichnisse zu ändern, sollten vor der InstallValidate-Aktion sequenziert werden.
Benutzerdefinierte Aktionen, die den Installationsstatus von Features oder Komponenten ändern, müssen vor der InstallValidate-Aktion sequenziert werden.
ActionData-Nachrichten
Es sind keine ActionData-Meldungen vorhanden.
Bemerkungen
In der Regel sollte eine frühere Ui-Dialogfeldsequenz die gleiche Überprüfung wie die InstallValidate-Aktion ausführen, wenn der Benutzer versucht, das Kopieren von Dateien zu initiieren. In dieser Ui-Dialogfeldsequenz sollte ein 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 die Installation nicht fortsetzen kann, wenn nicht genügend Speicherplatz vorhanden ist. Bei einer stillen Installation gibt es keine Benutzeroberfläche, und die InstallValidate-Aktion beendet die Installation, wenn nicht genügend Speicherplatz vorhanden ist. Die Ursache der vorzeitigen Beendigung wird in der Protokolldatei aufgezeichnet, wenn die Protokollierung aktiviert ist.
Ein Eintrag wird einer internen FilesInUse-Tabelle hinzugefügt, wenn eine Datei überschrieben oder entfernt wird, während sie für die Ausführung oder Änderung durch einen beliebigen Prozess während der Dateikostengeöffnet ist. Die Tabelle FilesInUse enthält Spalten für den Namen und den vollständigen Pfad der Datei. Wenn die InstallValidate-Aktion ausgeführt wird, fragt das Installationsprogramm die FilesInUse-Tabelle nach Einträgen ab und bestimmt den Namen des Prozesses mithilfe der Datei. Die InstallValidate-Aktion fügt der ListBox-Benutzeroberflächentabelle einen Datensatz für jeden eindeutigen Prozess hinzu, der von dieser Abfrage identifiziert wird. Der Datensatz enthält die folgenden Werte in jeder Spalte:
Property: FileInUseProcess
Wert: Name des Prozesses
Text: Text in der Beschriftung des Hauptfensters des Prozesses
Die Aktion InstallValidate zeigt dann das Dialogfeld Verwendeten Dateien an. In diesem Dialogfeld werden die Prozesse angezeigt, die heruntergefahren werden müssen, um zu vermeiden, dass das System neu gestartet werden muss, um die verwendeten Dateien zu ersetzen.
Die Aktion InstallValidate fragt die Tabelle Dialog nach einem erstellten Dialogfeld mit dem reservierten Namen FilesInUse ab und zeigt es an. 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, aber dies liegt beim Benutzeroberflächenautor. Jede Schaltfläche sollte an ein EndDialog ControlEvent in der ControlEvent-Tabelle gebunden sein. Die InstallValidate-Aktion antwortet wie folgt auf den vom DoAction ControlEvent zurückgegebenen Wert, wie von einem der folgenden EndDialog-Argumente vorgegeben, die der schaltfläche zugeordnet sind, die vom Benutzer gepusht wird:
Wiederholung: Alle Werte, die der ListBox-Tabelle hinzugefügt werden, werden gelöscht, und die gesamte Dateikostenprozedur wird wiederholt, wobei die Dateien, die noch verwendet werden, erneut überprüft werden. Wenn ein oder mehrere Prozesse weiterhin als zu überschreibende oder zu löschende Dateien identifiziert werden, wird der Prozess wiederholt. Andernfalls gibt InstallValidate die Steuerung an das Installationsprogramm mit dem Status msiDoActionStatusSuccess zurück.
Exit: Die InstallValidate-Aktion gibt die Steuerung sofort an das Installationsprogramm mit dem Status msiDoActionStatusUserExit zurück. Dadurch wird die Installation beendet.
Jeder andere Rückgabewert: Die InstallValidate-Aktion gibt sofort die Steuerung an das Installationsprogramm mit dem Status msiDoActionStatusSuccess zurück. Da eine oder mehrere Dateien in diesem Fall noch verwendet werden, müssen die nachfolgenden InstallFiles- und/oder InstallAdminPackage-Aktionen das Ersetzen oder Löschen der verwendeten Dateien beim Neustart des Systems planen.
Wenn in der Datenbank keine ListBox-Tabelle vorhanden ist, wird InstallValidate ohne Fehler im Hintergrund 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 verwendet betrachtet.
Wenn die Benutzeroberflächenebene einfach ist, wird dem Benutzer ein Standarddialogfeld "Nicht genügend Speicherplatz" angezeigt, das die Schaltflächen Abbrechen und Wiederholen enthält.