기본 설치 관리자에서 다시 시작 관리자 사용
다음 절차에서는 Restart Manager를 사용하여 애플리케이션 및 서비스를 종료하고 다시 시작하는 방법을 설명합니다. 단일 설치 관리자에서 다시 시작 관리자를 사용하는 경우 이 설치 관리자는 사용자 인터페이스를 제어하는 기본 설치 관리자이기도 합니다.
기본 설치 관리자와 함께 다시 시작 관리자를 사용하려면
설치 관리자는 RmStartSession 함수를 호출하여 다시 시작 관리자 세션을 시작하고 세션 핸들 및 키를 가져옵니다.
설치 관리자는 RmRegisterResources 함수를 호출하여 리소스를 등록합니다. Restart Manager는 등록된 리소스만 사용하여 종료하고 다시 시작해야 하는 애플리케이션 및 서비스를 결정할 수 있습니다. 설치의 영향을 받을 수 있는 모든 리소스를 세션에 등록해야 합니다. 리소스는 파일 이름, 서비스 짧은 이름 또는 RM_UNIQUE_PROCESS 구조로 식별할 수 있습니다.
설치 관리자는 RmGetList 함수를 호출하여 종료하고 다시 시작해야 하는 모든 애플리케이션 및 서비스를 나열하는 RM_PROCESS_INFO 구조의 배열을 가져옵니다.
RmGetList 함수에서 반환하는 lpdwRebootReason 매개 변수 값이 0이 아닌 경우 다시 시작 관리자는 애플리케이션 또는 서비스를 종료하여 등록된 리소스를 해제할 수 없습니다. 이 경우 설치를 계속하려면 시스템 종료 및 다시 시작이 필요합니다. 설치 관리자는 사용자에게 작업을 요청하거나, 프로그램 또는 서비스를 중지하거나, 시스템 종료 및 다시 시작을 예약해야 합니다.
RmGetList 함수에서 반환하는 lpdwRebootReason 매개 변수 값이 0이면 설치 관리자가 RmShutdown 함수를 호출해야 합니다. 그러면 등록된 리소스를 사용하는 서비스 및 애플리케이션이 종료됩니다. 그런 다음 설치 관리자는 설치를 완료하는 데 필요한 시스템 수정을 수행해야 합니다. 마지막으로 설치 관리자는 RmRestart 함수를 호출하여 다시 시작 관리자가 종료된 애플리케이션을 다시 시작하고 다시 시작을 위해 등록된 애플리케이션을 다시 시작할 수 있도록 해야 합니다.
설치 관리자는 RmAddFilter 함수를 사용하여 지정된 애플리케이션 및 서비스가 종료되거나 다시 시작 관리자 작업에 의해 다시 시작되지 않도록 방지할 수 있습니다. RmGetFilterList 함수는 종료 및 다시 시작에서 필터링할 애플리케이션 및 서비스 목록을 반환합니다. RmRemoveFilter 함수는 필터를 제거합니다.
설치 관리자는 RmEndSession 함수를 호출하여 다시 시작 관리자 세션을 닫습니다.
기본 설치 관리자를 사용한 다음 보조 설치 관리자를 기존 세션에 조인하여 다시 시작 관리자 세션 시작 및 사용을 보여 주는 예제 코드 조각은 보조 설치 관리자에서 다시 시작 관리자 사용을 참조하세요.