再起動マネージャーの使用
次のセクションでは、Restart Manager API の使用について説明します。 アプリケーションとサービスは、 アプリケーションとサービスのガイドラインにも従う必要があります。
Microsoft Windows インストーラーの使用
Microsoft Windows インストーラー バージョン 4.0 は、Windows Vista または Windows Server 2008 のアプリケーション インストール サービスです。 インストールとサービスに Windows インストーラー バージョン 4.0 を使用するアプリケーションでは、再起動マネージャーを使用してシステムの再起動を減らします。 カスタム インストーラーは、再起動マネージャー API を呼び出して、システムの再起動を必要としないように、アプリケーションとサービスを直接シャットダウンおよび再起動するように設計することもできます。 システムの再起動が避けられない場合、インストーラーは InitiateShutdown または ExitWindowsEx 関数を使用して、ユーザーの中断を最小限に抑えるようにスケジュールできます。 対話型 Windows インストーラー パッケージでは、 MsiRMFilesInUse ダイアログ ボックスを含むユーザー インターフェイスを実装する必要があります。 詳細については、Windows インストーラー SDK のドキュメントの 「Restart Manager での Windows インストーラーの使用 」を参照してください。
カスタム インストーラーでの Restart Manager API の使用
カスタム インストーラー、またはシステムの再起動を引き起こすカスタム アクションを含む Windows インストーラー パッケージは、Restart Manager API を使用して、アプリケーションとサービスをシャットダウンおよび再起動できます。
- Restart Manager API を使用して実行されるすべての操作は、セッションに関連付けられている必要があります。 システム上で同時に開くことができるのは、ユーザー セッションあたり最大 64 個の再起動マネージャー セッションです。 プライマリ インストーラーが再起動マネージャー セッションを開始して終了します。 1 つのインストーラーで再起動マネージャーを使用する方法の詳細については、「 プライマリ インストーラーでの再起動マネージャーの使用」を参照してください。
- インストールに必要な場合は、1 つ以上のセカンダリ インストーラーを Restart Manager セッションに参加させ、プライマリ インストーラーのインプロセスまたはアウトプロセスのいずれかを実行できます。 セカンダリ インストーラーでは、セッションに参加するために、プライマリ インストーラーによってセッション キーが提供されている必要があります。 セカンダリ インストーラーの使用の詳細と例については、「セカンダリ インストーラー での再起動マネージャーの使用」を参照してください。
- 対話型インストーラーでは、ユーザーにアプリケーションとサービスを閉じるように求めることができる MsiRMFilesInUse ダイアログ ボックスを含むユーザー インターフェイスを実装する必要があります。 詳細については、Windows インストーラー SDK のドキュメントの 「Restart Manager での Windows インストーラーの使用 」を参照してください。
- インストーラーは、Restart Manager API を呼び出して、現在の再起動マネージャー操作の状態を変更、取り消し、取得できます。 詳細については、「再起動マネージャー操作の状態の取得」および「現在の再起動マネージャー操作の取り消し」を参照してください。
- インストーラーは、Restart Manager API を呼び出す前にファイル システムのリダイレクトを無効にしないでください。 64 ビット Windows で実行される一部の 32 ビット インストーラーでは、%windir%\system32 ディレクトリにファイルを登録できない場合があります。