DOBON.NET

インストール終了後に再起動する

注意:セットアッププロジェクトはVisual Studio 2012からサポートされなくなりました。

インストール後(あるいはインストール中)にシステムの再起動を行うには、スタンダードアクションScheduleReboot ActionForceReboot Actionを使います。ScheduleRebootはインストールの最後に再起動し、ForceRebootは途中でも再起動できます。Visual Studioではこれらのアクションを追加することはできませんので、これらを使うにはOrcaを使用します。

性格上、ForceRebootの方が使い方が難しいので、ここではScheduleRebootをInstallExecuteSequenceテーブルに挿入することにします。

まずOrcaでMSIファイルを開き、InstallExecuteSequenceテーブルを表示します。ヘルプによると、ScheduleRebootの挿入位置は、通常は最後ですが、どこでもよいということです。よって、ここでは次のような行をInstallExecuteSequenceに追加します。

Action
ScheduleReboot
Condition
Sequence
7000

このようなMSIファイルを実行すると、インストール終了後に再起動を求めるダイアログが表示されます。ユーザーはここで再起動しないように選択することもできます。サイレントインストールのときは、自動的に再起動されます。

この例ではアンインストール時にも再起動を求めるダイアログが表示されますが、これを防ぐには、Conditionに「NOT REMOVE~="ALL"」を指定します。

これ以外の方法としては、REBOOT Propertyに「Force」を指定する方法もあります。例えば、MSIファイルをインストールするときに次のようなコマンドを使用し、プロパティを指定します。(Windows Installerプロパティを設定する方法の詳細は、こちらをご覧ください。)

msiexec /i (MSIファイル名) REBOOT=Force

補足:Windows Installer 3.0以降では、「/forcerestart」コマンドラインオプションによっても可能です。

再起動の確認ダイアログを表示しないで再起動されるようにするには、さらに「REBOOTPROMPT=Suppress」を追加します。

msiexec /i (MSIファイル名) REBOOT=Force REBOOTPROMPT=Suppress

逆に再起動をしないようにするには、REBOOTプロパティを「ReallySuppress」とします(Windows Installer 3.0以降では、「/norestart」コマンドラインオプションによっても可能です)。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。
共有する

この記事への評価

この記事へのコメント

この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームへ移動します。通常のご質問、ご意見等は掲示板へご投稿ください。