다시 시작 관리자와 함께 Windows Installer 사용
Windows Vista에서 설치 및 서비스에 Windows Installer 4.0을 사용하는 애플리케이션은 자동으로 다시 시작 관리자를 사용하여 시스템 다시 시작 횟수를 줄입니다. Windows Vista의 기본 동작은 가능하면 운영 체제를 종료하고 다시 시작하는 대신 애플리케이션을 종료하는 것입니다. 시스템 다시 시작이 불가피한 경우 설치 관리자는 다시 시작 관리자 API를 사용하여 사용자의 작업 흐름 중단을 최소화하는 방식으로 다시 시작을 예약할 수 있습니다.
Windows Installer 개발자는 다음 작업을 수행하여 패키지가 다시 시작 관리자와 함께 작동하도록 준비할 수 있습니다.
패키지에 MsiRMFilesInUse 대화 상자를 추가합니다. 패키지에 MsiRMFilesInUse 대화 상자가 있는 경우, 전체 UI 사용자 인터페이스 수준에서 설치를 실행하는 Windows Vista 사용자에게 애플리케이션을 자동으로 닫고 다시 시작하는 옵션이 제공됩니다. 설치 패키지에는 MsiRMFilesInUse 대화 상자와 FilesInUse 대화 상자 모두에 대한 정보가 포함될 수 있습니다. MsiRMFilesInUse 대화 상자는 패키지가 Windows Vista에 Windows Installer 4.0 이상과 함께 설치되어 있는 경우에만 표시되며, 그렇지 않으면 무시됩니다. MsiRMFilesInUse 대화 상자가 없는 기존 패키지는 FilesInUse 대화 상자를 사용하여 계속 작동합니다. 사용자 지정 변환을 사용하여 기존 패키지에 MsiRMFilesInUse 대화 상자를 추가할 수 있습니다.
최종 사용자는 일반적으로 전체 UI 사용자 인터페이스 수준에서 설치를 실행합니다. 기본 UI 또는 축소된 UI 수준 설치를 사용하면 MsiRMFilesInUse 대화 상자가 없는 경우에도 다시 시작 관리자를 사용하여 시스템 다시 시작을 줄일 수 있습니다. 자동 UI 수준 설치는 항상 애플리케이션 및 서비스를 종료하고 Windows Vista에서는 항상 다시 시작 관리자를 사용합니다.
RegisterApplicationRestart 함수를 사용하여 다시 시작할 애플리케이션을 등록합니다. 다시 시작 관리자는 다시 시작에 등록된 애플리케이션만 다시 시작할 수 있습니다. 다시 시작 관리자는 설치 후 등록된 애플리케이션을 다시 시작합니다. 설치에 시스템을 다시 시작해야 하는 경우 다시 시작 관리자는 시스템을 다시 시작한 후 등록된 애플리케이션을 다시 시작합니다.
MsiSetExternalUI 및 MsiSetExternalUIRecord 함수를 사용하여 외부 사용자 인터페이스 처리기를 사용하도록 설정할 때 INSTALLLOGMODE_RMFILESINUSE를 지정합니다. Windows Installer는 다시 시작 관리자를 지원하는 외부 사용자 인터페이스 처리기를 위한 INSTALLMESSAGE_RMFILESINUSE 메시지를 보냅니다. 등록된 사용자 인터페이스 또는 내부 사용자 인터페이스가 INSTALLMESSAGE_RMFILESINUSE 메시지를 처리하지 않으면 설치 관리자는 FilesInUse 대화 상자를 지원하는 사용자 인터페이스 처리기에 대한 INSTALLMESSAGE_FILESINUSE 메시지를 보냅니다. 자세한 내용은 외부 UI에서 다시 시작 관리자 사용을 참조하세요.
사용자 지정 작업은 다시 시작 관리자 세션에 속한 리소스를 추가할 수 있습니다. 사용자 지정 작업은 InstallValidate 작업 전에 순서를 지정해야 합니다. 사용자 지정 작업은 MsiRestartManagerSessionKey 속성을 사용하여 세션 키를 가져올 수 있으며, 다시 시작 관리자 API의 RmJoinSession 및 RmEndSession 함수를 호출해야 합니다. 사용자 지정 작업은 다시 시작 관리자 세션에 속한 리소스를 제거할 수 없습니다. 사용자 지정 작업은 RmShutdown, RmGetList 및 RmRestart 함수를 사용하여 애플리케이션을 종료하거나 다시 시작하려고 시도해서는 안 됩니다.
패키지 작성자는 MsiSystemRebootPending 속성의 LaunchCondition 테이블에서 조건을 기반으로 시스템 다시 시작이 보류 중일 때 패키지 설치를 방지할 수 있습니다.
패키지 작성자와 관리자는 MSIRESTARTMANAGERCONTROL, MSIDISABLERMRESTART, MSIRMSHUTDOWN 속성 및 DisableAutomaticApplicationShutdown 정책을 사용하여 Windows Installer 및 Restart Manager의 상호 작용을 제어할 수 있습니다.
애플리케이션 및 서비스는 다시 시작 관리자 설명서의 다시 시작 관리자 사용 섹션에 설명된 지침을 따라야 합니다.