共用方式為


搭配主要安裝程式使用重新開機管理員

下列程式描述如何使用重新開機管理員來關閉及重新開機應用程式和服務。 搭配單一安裝程式使用重新開機管理員時,此安裝程式也是控制使用者介面的主要安裝程式。

若要搭配主要安裝程式使用重新開機管理員

  1. 安裝程式會呼叫 RmStartSession 函 式來啟動重新開機管理員會話,並取得會話控制碼和金鑰。

  2. 安裝程式會呼叫 RmRegisterResources 函式來註冊資源。 重新開機管理員只能使用已註冊的資源來判斷哪些應用程式和服務必須關閉並重新啟動。 所有可能受安裝影響的資源都應該向會話註冊。 資源可以透過檔案名、服務簡短名稱或 RM_UNIQUE_PROCESS 結構來識別。

  3. 安裝程式會呼叫 RmGetList 函式,以取得 RM_PROCESS_INFO 結構的陣列,其中列出必須關閉並重新啟動的所有應用程式和服務。

    如果RmGetList函式所傳回的lpdwRebootReason參數值為非零值,則重新開機管理員無法藉由關閉應用程式或服務釋放已註冊的資源。 在此情況下,需要系統關機並重新啟動才能繼續安裝。 安裝程式應該提示使用者執行動作、停止程式或服務,或排程系統關機並重新啟動。

    如果RmGetList函式傳回的lpdwRebootReason參數值為零,安裝程式應該呼叫RmShutdown函式。 這會關閉使用已註冊資源的服務和應用程式。 然後,安裝程式應該執行完成安裝所需的系統修改。 最後,安裝程式應該呼叫 RmRestart 函式,讓重新開機管理員可以重新開機它已關閉且已註冊重新開機的應用程式。

  4. 安裝程式可以使用 RmAddFilter 函 式來防止重新開機管理員作業關閉或重新開機指定的應用程式和服務。 RmGetFilterList函式會傳回要從關機和重新開機篩選的應用程式和服務清單。 RmRemoveFilter 函式會移除篩選。

  5. 安裝程式會呼叫 RmEndSession 函 式來關閉重新開機管理員會話。

如需示範使用主要安裝程式啟動和使用重新開機管理員會話,然後將次要安裝程式加入現有會話的範例程式碼片段,請參閱 搭配次要安裝程式使用重新開機管理員