Verwenden von Windows Installer mit dem Neustart-Manager

Anwendungen, die Version 4.0 von Windows Installer für die Installation und Wartung unter Windows Vista verwenden, verwenden automatisch den Neustart-Manager, um die Anzahl von Systemneustarts zu reduzieren. Das Standardverhalten unter Windows Vista besteht nach Möglichkeit im Herunterfahren von Anwendungen, anstatt das Betriebssystem herunterzufahren und neu zu starten. Ist ein Systemneustart unvermeidbar, können Installationsprogramme mit der Neustart-Manager-API Neustarts so planen, dass die Unterbrechung des Arbeitsablaufs der Benutzer*innen minimiert wird.

Windows Installer-Entwickler*innen können mit den folgenden Aktionen ihr Paket für die Arbeit mit dem Neustart-Manager vorbereiten.

  • Fügen Sie Ihrem Paket das Dialogfeld MsiRMFilesInUse hinzu. Enthält ein Paket das Dialogfeld „MsiRMFilesInUse“, erhalten Windows Vista-Benutzer*innen, die eine Installation auf der Benutzeroberflächenebene „Vollständige Benutzeroberfläche“ ausführen, die Option, Anwendungen automatisch zu schließen und neu zu starten. Ein Installationspaket kann gleichzeitig Informationen für das Dialogfeld „MsiRMFilesInUse“ und für das Dialogfeld FilesInUse enthalten. Das Dialogfeld „MsiRMFilesInUse“ wird nur angezeigt, wenn das Paket unter Windows Vista mit mindestens Windows Installer 4.0 installiert wird. Andernfalls wird es ignoriert. Vorhandene Pakete, die nicht über das Dialogfeld „MsiRMFilesInUse“ verfügen, verwenden weiterhin das Dialogfeld „FilesInUse“. Mithilfe einer Anpassungstransformation können Sie vorhandenen Paketen das Dialogfeld „MsiRMFilesInUse“ hinzufügen.

    Endbenutzer*innen führen Installationen in der Regel auf der Benutzeroberflächenebene „Vollständige Benutzeroberfläche“ aus. Bei Installationen auf den Ebenen „Einfache Benutzeroberfläche“ oder „Reduzierte Benutzeroberfläche“ haben Benutzer*innen die Möglichkeit, den Neustart-Manager auch dann zur Reduzierung von Systemneustarts zu verwenden, wenn das Dialogfeld MsiRMFilesInUse nicht vorhanden ist. Bei automatischen Installationen werden Anwendungen und Dienste immer heruntergefahren, und unter Windows Vista wird immer der Neustart-Manager verwendet.

  • Registrieren Sie Anwendungen mithilfe der Funktion RegisterApplicationRestart für einen Neustart. Mit dem Neustart-Manager können nur Anwendungen neu gestartet werden, die für den Neustart registriert wurden. Der Neustart-Manager startet registrierte Anwendungen nach der Installation neu. Ist für die Installation ein Systemneustart erforderlich, startet der Neustart-Manager die registrierte Anwendung nach dem Systemneustart neu.

  • Geben Sie „INSTALLLOGMODE_RMFILESINUSE“ an, wenn Sie einen externen Benutzeroberflächenhandler mit den Funktionen MsiSetExternalUI und MsiSetExternalUIRecord aktivieren. Windows Installer sendet eine INSTALLMESSAGE_RMFILESINUSE-Nachricht für externe Benutzeroberflächenhandler, die den Neustart-Manager unterstützen. Wird die INSTALLMESSAGE_RMFILESINUSE-Nachricht von keiner registrierten oder internen Benutzeroberfläche verarbeitet, sendet das Installationsprogramm eine INSTALLMESSAGE_FILESINUSE-Nachricht für Benutzeroberflächenhandler, die das Dialogfeld FilesInUse unterstützen. Weitere Informationen finden Sie unter Verwenden des Neustart-Managers mit einer externen Benutzeroberfläche.

  • Benutzerdefinierte Aktionen können Ressourcen hinzufügen, die zu einer Sitzung des Neustart-Managers gehören. Die benutzerdefinierte Aktion sollte vor der Aktion InstallValidate sequenziert werden. Benutzerdefinierte Aktionen können mit der Eigenschaft MsiRestartManagerSessionKey den Sitzungsschlüssel abrufen und sollten zudem die Funktionen RmJoinSession und RmEndSession der Neustart-Manager-API aufrufen. Benutzerdefinierte Aktionen können keine Ressourcen entfernen, die zu einer Sitzung des Neustart-Managers gehören. Benutzerdefinierte Aktionen sollten nicht versuchen, Anwendungen mithilfe der Funktionen RmShutdown, RmGetList und RmRestart herunterzufahren oder neu zu starten.

  • Paketautor*innen können in der LaunchCondition-Tabelle für die Eigenschaft MsiSystemRebootPending eine Bedingung platzieren, um die Installation ihres Pakets zu verhindern, wenn ein Systemneustart aussteht.

  • Paketautor*innen und Administrator*innen können die Interaktion zwischen Windows Installer und dem Neustart-Manager mithilfe der Eigenschaften MSIRESTARTMANAGERCONTROL, MSIDISABLERMRESTART, MSIRMSHUTDOWN und der Richtlinie DisableAutomaticApplicationShutdown steuern.

  • Anwendungen und Dienste sollten mit den Richtlinien übereinstimmen, die in der Dokumentation zum Neustart-Manager im Abschnitt Verwenden des Neustart-Managers beschrieben werden.