ForceReboot アクション
ForceReboot アクションでは、インストール中にシステムの再起動をユーザーに求めます。 ForceReboot アクションと ScheduleReboot アクションの違いは、ScheduleReboot アクションはインストールの終了時に再起動するようにプロンプトをスケジュールするために使用されるという点です。
インストールにユーザー インターフェイスがある場合、インストーラーでは各 ForceReboot アクションにダイアログ ボックスを表示し、ユーザーにシステムの再起動を求めます。 ユーザーは、インストールを続行する前に、このプロンプトに応答する必要があります。 インストールにユーザー インターフェイスがない場合、システムは ForceReboot アクションで自動的に再起動します。
インストーラーで再起動が必要であると判断された場合、シーケンスに ForceReboot アクションまたは ScheduleReboot アクションがあるかどうかに関係なく、インストールの最後に再起動するように自動的にユーザーに求めます。 たとえば、インストール中に使用中のファイルを置き換える必要がある場合、インストーラーは再起動を求めるダイアログを自動的に表示します。
特定の再起動プロンプトを抑制するには、REBOOT プロパティを設定します。
複数パッケージのインストール中に Windows インストーラーで ForceReboot アクションまたは ScheduleReboot アクションが検出された場合、インストールが停止してロールバックします。 複数パッケージのインストールに属する他のパッケージで、ForceReboot アクションまたは ScheduleReboot アクションを含まないものはインストールできます。
シーケンスの制限
通常、次のアクションは、アクション シーケンス内のグループとして一緒に発生します。 ForceReboot アクションは、このグループの後に実行されるようにスケジュールすることをお勧めします。 RegisterProduct アクションの前に ForceReboot アクションがスケジュールされている場合、インストーラーは再起動後にインストール パッケージのソースを再度要求します。 したがって、ForceReboot の推奨される順序は、このアクション シーケンスの直後です。
- RegisterProduct
- RegisterUser
- PublishProduct
- PublishFeatures
- CreateShortcuts
- RegisterMIMEInfo
- RegisterExtensionInfo
- RegisterClassInfo
- RegisterProgIdInfo
ForceReboot アクションは、InstallExecuteSequence テーブルのアクション シーケンスで InstallInitialize と InstallFinalize の間に含まれている必要があります。
ActionData のメッセージ
ActionData のメッセージはありません。
解説
ForceReboot アクションは、インストーラーが必要な場合にのみ再起動をトリガーするような条件付きステートメントでは常に使用する必要があります。 たとえば、再起動が必要になるのは、特定のファイルが置き換えられた場合、または特定のコンポーネントがインストールされた場合のみです。 各製品のインストールは固有のものであり、再起動が必要かどうかを判断するためにカスタム アクションが必要になる場合があります。 ForceReboot アクションの条件は、一般的に AFTERREBOOT プロパティを使用します。
ForceReboot では、再起動を求める前または再起動する前に、以前のアクションによって生成されたシステム操作を実行します。 たとえば、InstallFiles と WriteRegistryValues によって生成されるシステム操作は、再起動前に実行されます。
ForceReboot アクションによってレジストリ キーが書き込まれるので、再起動後にインストーラーが起動します。 このキーの場所は HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce です。
関連トピック