やる気駆動型エンジニアの備忘録

WPF(XAML+C#)の話題を中心に.NET/Android/CI やたまに趣味に関するブログです

Setupインストーラーでインストール後に再起動する方法

デスクトップアプリでインストーラーからインストールが完了した後にOSを再起動する方法についてメモします。

動作環境

下準備

  1. Visual Studio拡張機能であるインストーラープロジェクトを追加します。Microsoft Visual Studio 2015 Installer Projects - Visual Studio Marketplace
  2. MSIデータ テーブル編集ツールのOrca をインストールします。

Orcaについては、以下を参照してください。
https://support.microsoft.com/ja-jp/help/255905/how-to-use-the-orca-database-editor-to-edit-windows-installer-files

OrcaWindows SDK に含まれています。が、Windows 7 向けのSDK にしかインストールされていないので別途Windows 7 SDK をインストールする必要があります。
Download Microsoft Windows SDK for Windows 7 and .NET Framework 4 from Official Microsoft Download Center

OrcaSDK の以下のパスに保存されています。
(環境によってはパスが違うかもしれません。)
%Program Files%\Microsoft SDKs\Windows\v7.0A\Bin\Orca.Msi

これをインストールすれば準備OKです。

再起動の設定

まずは、通常通りインストーラー プロジェクトをビルドして、"Setup.exe"と"*.msi"を作成します。
次に、Orca を起動して、作成したMSI ファイルを開きます。
画面左部の[Table]から"Property"を選択すると、MSI ファイルのプロパティの一覧が表示されます。
ここで右クリック - [Add Row] を選択し、以下の内容を入力します。
f:id:iyemon018:20170420174328j:plain

f:id:iyemon018:20170420174428j:plain

"REBOOT"プロパティの値については以下のページを参照してください。
REBOOT property (Windows)

後はMSI ファイルを上書きすれば完了です。

インストールが完了すると、以下のメッセージが表示され、[はい]ボタンをクリックするとOSが再起動されるようになります。
f:id:iyemon018:20170420174841j:plain