Windows GUIプログラミング入門15 インストーラー(1)

  • 6
    いいね
  • 2
    コメント

はじめに

今回はプログラムをインストーラーで配布できるようにします。

キーワード:VisualStudio2017, InstallerProjects, UAC

[注意]
これまでの回で説明済みの操作方法等は、説明を省略したり簡略化している場合があります。

開発環境

  • Windows 10 (バージョン1703)
  • Visual Studio Community 2017

拡張機能のインストール

以下のサイトからInstaller Projectsの拡張をダウンロードします。

Microsoft Visual Studio 2017 Installer Projects

wbg15-01.png

インストールします。
wbg15-02.png

インストーラープロジェクトの追加

適当に何かプロジェクトを作り、ソリューションの「追加」 - 「新しいプロジェクト」を選択します。
wbg15-03.png

「新しいプロジェクトの追加」画面で「その他のプロジェクトの種類」 - 「Visual Studio Installer」を選択し、「Setup Wizard」を選択します。
wbg15-04.png

「次へ」を選択します。
wbg15-05.png

「次へ」を選択します。
wbg15-06.png

「プライマリ出力」を選択し、「次へ」を選択します。
wbg15-07.png

「次へ」を選択します。
wbg15-08.png

「完了」を選択します。
wbg15-09.png

インストーラープロジェクトが追加されました。
wbg15-10.png

インストーラープロジェクトの設定

ビルド設定

ソリューションを右クリック、「構成マネージャー」を選択し、インストーラープロジェクトの「ビルド」にチェックを入れます。
wbg15-11.png

ソリューションエクスプローラーのDetected DependenciesからMicrosoft .NET Framework以外(使わないもの)を右クリックして「除外」します。
wbg15-12.png

wbg15-12b.png

インストーラープロジェクトのプロパティ、PostBuildEventの「...」を選択します。
wbg15-12c.png

wbg15-12d.png

「マクロ」ボタンを選択してBuildOutputPathをダブルクリックします。
wbg15-12e.png

以下のように書き換えます。
"C:\Program Files (x86)\Windows Kits\10\bin\x86\MsiInfo.exe" "$(BuiltOuputPath)" /W 10
wbg15-12f.png

MsiInfoのパスは環境に応じて書き換えてください。
パスは、Developer Command Prompt for VS 2017を起動し、
wbg15-12g.png

where msiinfo確認しましょう。

PostBuildEventはビルド後に実行される処理で、
MSIファイルを管理者権限不要でインストールできるように設定変更するコマンドを書いています。

プロパティ設定

File SystemタブのApplication Folderを選択し、プロパティのDefaultLocation
[LocalAppDataFolder][Manufacturer]\[ProductName]に設定します。
wbg15-13.png

ソリューションエクスプローラーでインストーラープロジェクトを選択し、プロパティを設定します。
wbg15-14.png

プロパティ 設定値 備考
Auther 作成者A
Description 説明BBB
DetectNewerInstalledVersion True インストール時の新バージョンチェック
InstallAllUsers False すべてのユーザーにインストールするか
Localization Japanese
Manufacturer 会社C
ProductName ソフトD
RemovePreviousVersions True 古いバージョンの削除
Subject タイトルE
Title タイトルFF
Version 1.0.0

デスクトップのショートカット

File SystemタブのUser's Desktopを選択し、プロパティのAlwaysCreateTrueに設定します。
wbg15-15.png

User's Desktopを選択し、ツリー右の部分(Name, Type列のある領域)で右クリックし、「新しいショートカットの作成」を選択します。
wbg15-16.png

Application Folderをダブルクリックします。
wbg15-17.png

「プライマリ出力」が選択されているので「OK」を選択します。
wbg15-18.png

ショートカットの名前をソフトDに変更します。
wbg15-19.png

wbg15-20.png

スタートメニューのショートカット

User's Programs Menuを右クリックし、「Add」 - 「Folder」を選択します。
wbg15-21.png

フォルダ名をグループGに変更し、AlwaysCreateTrueにし、グループGの右の領域で右クリック、「新しいショートカットの作成」を選択します。
wbg15-22.png

User's Desktopの時と同じように設定します。
wbg15-23.png

ビルド

ソリューションをReleaseビルドします。
Setup.exemsiファイルが出来上がるので、この2つを配布します。
wbg15-30.png

インストール

一般ユーザーでSetup.exeを実行してみます。

「次へ」を選択します。
wbg15-31.png

「次へ」を選択します。
wbg15-32.png

「次へ」を選択します。
wbg15-33.png

「閉じる」を選択します。
wbg15-34.png

デスクトップとスタートメニューにショートカットが作成されました。
UACのダイアログを出さずにインストールすることができました。
wbg15-35.png

ユーザーのLocalフォルダ配下にインストールされています。
wbg15-36.png

「アプリと機能」の一覧に追加されました。
wbg15-37.png

バージョンアップ

メインのプロジェクトを更新してバージョン情報も更新します。
(プロジェクトのプロパティ、「アプリケーション」の「アセンブリ情報」)
wbg15-40.png

インストーラープロジェクトのVersionプロパティを更新します。
ProductCodeを更新するか聞いてくるので「はい」を選択し、ソリューションをリリースビルドします。
wbg15-41.png

Setup.exeを起動してインストールすると新しいバージョンで上書きされます。
wbg15-42.png

:bulb:バージョンアップ時、上書きインストールできて最新版が起動できることは必ず確認しましょう。
設定を失敗していると、インストールが続行できなかったり、一見インストール成功したように見えても中身が古いバージョンのままになることもあります。

おしまい


<< 最初の記事   < 前の記事   次の記事 >