다음을 통해 공유


다시 시작 관리자에서 Windows Installer 사용

Windows Vista에서 설치 및 서비스에 Windows Installer 4.0을 사용하는 애플리케이션은 자동으로 다시 시작 관리자 사용하여 시스템 다시 시작을 줄입니다. Windows Vista의 기본 동작은 가능하면 운영 체제를 종료하고 다시 시작하는 대신 애플리케이션을 종료하는 것입니다. 시스템 다시 시작이 불가피한 경우 설치 관리자는 Restart Manager API를 사용하여 사용자의 작업 흐름 중단을 최소화하는 방식으로 다시 시작을 예약할 수 있습니다.

Windows Installer 개발자는 다음 작업을 수행하여 Restart Manager사용할 패키지를 준비할 수 있습니다.

  • MsiRMFilesInUse 대화 상자를 패키지에 추가합니다. 패키지에 MsiRMFilesInUse 대화 상자가 있는 경우 전체 UI 사용자 인터페이스 수준에서 설치를 실행하는 Windows Vista 사용자에게 애플리케이션을 자동으로 닫고 다시 시작하는 옵션이 제공됩니다. 설치 패키지에는 MsiRMFilesInUse 대화 상자와 FilesInUse 대화 상자에 대한 정보가 포함될 수 있습니다. MsiRMFilesInUse 대화 상자는 패키지가 Windows Vista에 Windows Installer 4.0 이상과 함께 설치되어 있고 그렇지 않으면 무시되는 경우에만 표시됩니다. MsiRMFilesInUse 대화 상자가 없는 기존 패키지는 FilesInUse 대화 상자를 사용하여 계속 작동합니다. 사용자 지정 변환을 사용하여 기존 패키지에 MsiRMFilesInUse 대화 상자를 추가할 수 있습니다.

    최종 사용자는 일반적으로 전체 UI 사용자 인터페이스 수준설치를 실행합니다. 기본 UI 또는 축소된 UI 수준 설치를 사용하면 MsiRMFilesInUse 대화 상자가 없는 경우에도 다시 시작 관리자 사용하여 시스템 다시 시작을 줄일 수 있습니다. 무음 UI 수준 설치는 항상 애플리케이션 및 서비스를 종료하며, Windows Vista에서는 언제나 Restart Manager를 사용합니다.

  • RegisterApplicationRestart 함수를 사용하여 다시 시작을 위한 애플리케이션을 등록합니다. 다시 시작 관리자는 다시 시작에 등록된 애플리케이션만 다시 시작할 수 있습니다. 다시 시작 관리자는 설치 후 등록된 애플리케이션을 다시 시작합니다. 설치에 시스템을 다시 시작해야 하는 경우 시스템을 다시 시작한 후 다시 시작 관리자가 등록된 애플리케이션을 다시 시작합니다.

  • MsiSetExternalUIMsiSetExternalUIRecord 함수를 사용하여 외부 사용자 인터페이스 처리기를 사용하도록 설정할 때 INSTALLLOGMODE_RMFILESINUSE 지정합니다. Windows Installer는 외부 사용자 인터페이스 처리기 중 Restart Manager을 지원하는 것에 대해 INSTALLMESSAGE_RMFILESINUSE 메시지를 보냅니다. 등록된 사용자 인터페이스나 내부 사용자 인터페이스가 INSTALLMESSAGE_RMFILESINUSE 메시지를 처리하지 않는 경우 설치 관리자는 FilesInUse 대화 상자를 지원하는 사용자 인터페이스 처리기에 대한 INSTALLMESSAGE_FILESINUSE 메시지를 보냅니다. 자세한 내용은 외부 UI와 함께 다시 시작 관리자를 사용하는 것에 대해 항목을 참조하세요.

  • 사용자 지정 작업은 다시 시작 관리자 세션에 속하는 리소스를 추가할 수 있습니다. 사용자 지정 작업은 InstallValidate 작업 전에 순서를 지정해야 합니다. 사용자 지정 작업은 MsiRestartManagerSessionKey 속성을 사용하여 세션 키를 가져올 수 있으며, RmJoinSession 호출하고 다시 시작 관리자 API의 RmEndSession함수를합니다. 사용자 지정 작업은 다시 시작 관리자 세션에 속하는 리소스를 제거할 수 없습니다. 사용자 지정 작업은 RmShutdown, RmGetListRmRestart 함수를 사용하여 애플리케이션을 종료하거나 다시 시작하려고 시도해서는 안 됩니다.

  • 패키지 작성자는 MsiSystemRebootPending 속성에 LaunchCondition 테이블의 조건을 기반으로 하여 시스템 다시 시작이 보류 중인 경우 패키지 설치를 방지할 수 있습니다.

  • 패키지 작성자와 관리자는 MSIRESTARTMANAGERCONTROL, MSIDISABLERMRESTART, MSIRMSHUTDOWN 속성과 DisableAutomaticApplicationShutdown 정책을 사용하여 Windows Installer와 Restart Manager의 상호 작용을 제어할 수 있습니다.

  • 애플리케이션 및 서비스는 Restart Manager 설명서의 Using Restart Manager 섹션에 설명된 지침을 따라야 합니다.