Verwenden des Neustart-Managers mit einem primären Installationsprogramm

Im folgenden Verfahren wird beschrieben, wie Sie mithilfe des Neustart-Managers Anwendungen und Dienste herunterfahren und neu starten. Wenn Sie den Neustart-Manager mit einem einzelnen Installationsprogramm verwenden, ist dieses Installationsprogramm auch das primäre Installationsprogramm, das die Benutzeroberfläche steuert.

So verwenden Sie den Neustart-Manager mit einem primären Installationsprogramm

  1. Das Installationsprogramm ruft die RmStartSession-Funktion auf, um die Restart Manager-Sitzung zu starten und ein Sitzungshandle und einen Sitzungsschlüssel abzurufen.

  2. Das Installationsprogramm ruft die RmRegisterResources-Funktion auf, um Ressourcen zu registrieren. Der Neustart-Manager kann nur registrierte Ressourcen verwenden, um zu bestimmen, welche Anwendungen und Dienste heruntergefahren und neu gestartet werden müssen. Alle Ressourcen, die von der Installation betroffen sein können, sollten bei der Sitzung registriert werden. Ressourcen können anhand des Dateinamens, des Kurznamens des Diensts oder einer RM_UNIQUE_PROCESS-Struktur identifiziert werden.

  3. Das Installationsprogramm ruft die RmGetList-Funktion auf, um ein Array von RM_PROCESS_INFO Strukturen abzurufen, in dem alle Anwendungen und Dienste aufgelistet werden, die heruntergefahren und neu gestartet werden müssen.

    Wenn der Wert des lpdwRebootReason-Parameters , der von der RmGetList-Funktion zurückgegeben wird, ungleich null ist, kann der Neustart-Manager eine registrierte Ressource nicht durch das Herunterfahren einer Anwendung oder eines Diensts freigeben. In diesem Fall ist ein Herunterfahren und Neustart des Systems erforderlich, um die Installation fortzusetzen. Das Installationsprogramm sollte den Benutzer zur Eingabe einer Aktion auffordern, Programme oder Dienste beenden oder das Herunterfahren und Neustarten des Systems planen.

    Wenn der Wert des lpdwRebootReason-Parameters , der von der RmGetList-Funktion zurückgegeben wird, null ist, sollte das Installationsprogramm die RmShutdown-Funktion aufrufen. Dadurch werden die Dienste und Anwendungen heruntergefahren, die registrierte Ressourcen verwenden. Das Installationsprogramm sollte dann Systemänderungen vornehmen, die zum Abschließen der Installation erforderlich sind. Schließlich sollte das Installationsprogramm die RmRestart-Funktion aufrufen, damit der Neustart-Manager die Anwendungen neu starten kann, die er heruntergefahren und für einen Neustart registriert wurde.

  4. Das Installationsprogramm kann die RmAddFilter-Funktion verwenden, um zu verhindern, dass bestimmte Anwendungen und Dienste durch Neustart-Manager-Vorgänge heruntergefahren oder neu gestartet werden. Die RmGetFilterList-Funktion gibt eine Liste der Anwendungen und Dienste zurück, die nach dem Herunterfahren und Neustart gefiltert werden sollen. Die RmRemoveFilter-Funktion entfernt einen Filter.

  5. Das Installationsprogramm ruft die RmEndSession-Funktion auf, um die Restart Manager-Sitzung zu schließen.

Einen Beispielcodeausschnitt, der das Starten und Verwenden einer Restart Manager-Sitzung mithilfe eines primären Installationsprogramms und anschließendes Verknüpfen eines sekundären Installationsprogramms mit der vorhandenen Sitzung zeigt, finden Sie unter Verwenden des Neustart-Managers mit einem sekundären Installer.