Grow up

生活とプログラミング

VisualStudio 2019 インストーラの作成方法

f:id:knkomko:20190914235200p:plain:w150

VisualStudio2019で配布用のインストーラを作成します。
ツールは VisualStudio Instller を使用します。

1. Installer Project のダウンロード

インストーラを作成するプロジェクトの[拡張機能の管理(M)]を開きます。
f:id:knkomko:20190914235621p:plain:w350

オンラインの項目を選択して検索欄に「Installer Projects」と入力します。
表示されたMicrosoft Visual Studio Installer Projectsの[ダウンロード]を左クリック。
f:id:knkomko:20190915000244p:plain:w350

VisualStudioの終了を促されるので開いているプロジェクトを閉じます。
f:id:knkomko:20190915000321p:plain:w350

VisualStudioを終了するとウィンドウが起動するので[Modify]を左クリック。
f:id:knkomko:20190915000443p:plain:w350

以下のウィンドウが表示されたらダウンロードの完了です。
f:id:knkomko:20190915000553p:plain:w350

2. Installer Project の作成

インストーラを作成するプロジェクトを再度開きます。
プロジェクト名を右クリックして[追加] → [新しいプロジェクト(N)]を左クリック。
f:id:knkomko:20190915000931p:plain:w350

検索欄に「Installer」と入力して表示された[Setup Project]を選択して[次へ(N)]を左クリック。
f:id:knkomko:20190915001132p:plain:w350

必要に応じて名前を変更してから[作成(C)]を左クリック。
今回は「Setup1」のままとします。
f:id:knkomko:20190915032915p:plain:w350

「Setup1」プロジェクトが作成されます。
f:id:knkomko:20190915001520p:plain:w350

3. インストーラー発行元の情報を入力

Setup1プロジェクトを左クリック。
f:id:knkomko:20190915001520p:plain:w350

「Author」「Manufacture」「ProductName」「Title」を入力します。
今回はインストール時にどの項目が表示されるのか識別できるように項目名を入力します。
f:id:knkomko:20190915024040p:plain:w350

4. ProgramFiles にコピーするアプリケーションファイルの指定

Setup1を右クリックして[View] → [ファイルシステム]を左クリック。
f:id:knkomko:20190915001949p:plain:w350

表示されたFile System内の[Application Folder]を右クリックして[Add]→[プロジェクトの出力(P)]を左クリック。
f:id:knkomko:20190915002356p:plain:w350

一覧から[プライマリ出力]を選択し、構成は「Release Any CPU」を選択して[OK]を左クリック。
プライマリ出力にはプロジェクト内の dll や exe が含まれています。
f:id:knkomko:20190915002429p:plain:w350

Application Folder に「プライマリ出力」のファイルが作成されます。
f:id:knkomko:20190915003213p:plain:w350

5. デスクトップに表示するショートカットファイルの指定

[User's Desktop]を選択した状態で右側の白い背景を右クリックします。
表示されたメニューの[新しいショートカットの作成]を左クリック。
f:id:knkomko:20190915003906p:plain:w350

Lock in に「Application Folder」を選択して表示された[プライマリ出力]を選択して[OK]を左クリック。
f:id:knkomko:20190915004554p:plain:w350

User's Desktop に[プライマリ出力]が作成されます。
f:id:knkomko:20190915004822p:plain:w350

User's Desktop の[プライマリ出力]を右クリックして表示されたメニューから[プロパティ ウィンドウ]を左クリック。
f:id:knkomko:20190915010327p:plain:w350

Name にショートカットアイコンの名称を入力します。
f:id:knkomko:20190915005614p:plain:w350

User's Desktop の[プライマリ出力]だったショートカットの名前が変更されます。
f:id:knkomko:20190915010921p:plain:w350

ショートカットの名前に青い波線が引かれている事に気づくと思います。
User's Desktop の Always Create が False (初期値)のままだと最後のインストーラ作成時に以下の様なエラーになるため True に変更します。

すべてのリビルド開始: プロジェクト:InstallerSample, 構成: Release Any CPU ------
1>  InstallerSample -> C:\Users\user\source\repos\InstallerSample\InstallerSample\bin\Release\InstallerSample.exe
------ Starting pre-build validation for project 'Setup1' ------ 
------ Starting pre-build validation for project 'Setup1' ------ 
ERROR: The target of shortcut 'InstallerSample' is invalid.  The 'AlwaysCreate' property of folder 'User's Desktop' must be set to 'True'
ERROR: The target of shortcut 'InstallerSample' is invalid.  The 'AlwaysCreate' property of folder 'User's Desktop' must be set to 'True'
------ Pre-build validation for project 'Setup1' completed ------
------ Pre-build validation for project 'Setup1' completed ------
2>------ すべてのリビルド開始: プロジェクト:Setup1, 構成: Release ------
2>------ すべてのリビルド開始: プロジェクト:Setup1, 構成: Release ------
========== すべてリビルド: 1 正常終了、1 失敗、0 スキップ ==========

User's Desktop を右クリックして[プロパティ ウィンドウ]を左クリック。
f:id:knkomko:20190915011248p:plain:w350

AlwaysCreate を True に変更します。
f:id:knkomko:20190915011322p:plain:w350

6. デスクトップのショートカットにアイコンを指定

ショートカットに使用するアイコンファイルをプロジェクトに取り込みます。
プロジェクト名を右クリックして[プロパティ]を左クリック。
f:id:knkomko:20190915004301p:plain:w350

[リソース]の[▼]から[既存ファイルの追加(E)]を左クリック。
f:id:knkomko:20190915012007p:plain:w350

ショートカットに表示したいアイコンを取り込みます。
今回は cat.ico というファイルを使用します。
取り込まれたファイルはResourcesフォルダに保存されます。
f:id:knkomko:20190915012305p:plain:w350

取り込んだアイコンファイルをショートカットに指定します。
User's Desktop のショートカットを選択した状態でInstallSampleを右クリック。
表示されたメニューの[プロパティ ウィンドウ(W)]を左クリック。
f:id:knkomko:20190915012541p:plain:w350

Icon の[Brows]を左クリック。
f:id:knkomko:20190915013629p:plain:w350

[Brows]を左クリック。
f:id:knkomko:20190915014017p:plain:w350

Lock in は[Application Folder]を選択して[Add File]からプロジェクトのResourcesフォルダにあるアイコンファイルを追加します。
追加するとファイル名が表示されるので選択して[OK]を左クリック。
f:id:knkomko:20190915014118p:plain:w350

追加したアイコンが表示されるので選択して[OK]を左クリック。
f:id:knkomko:20190915014743p:plain:w350

ショートカットに指定したアイコンファイルはSetup1の中に保存されます。
またUser's DesktopのショートカットのIconは[Icon]となります。
f:id:knkomko:20190915014832p:plain:w350

7. スタートメニューに表示するファイルの指定

Redmeなど必要なファイルがあれば表示できるのですが今回はデスクトップと同じショートカットを表示します。

User's Programs Menu を右クリックして[Add] → [Folder]を左クリック。
今回は InstallerSample と名前を付けます。
f:id:knkomko:20190915015708p:plain:w350

作成したフォルダを選択した状態で右側の白背景を右クリック。
表示されたメニューから[新しいショートカットの作成(C)]を左クリック。
f:id:knkomko:20190915020031p:plain:w350

Lock in は[Application Folder]を選択して表示された[プライマリ出力]を選択して[OK]を左クリック。
f:id:knkomko:20190915021002p:plain:w350

User's Programs Menu の Installer Sample に [Shortcut to プライマリ出力]が表示されます。
f:id:knkomko:20190915021208p:plain:w350

Shortcut toプライマリ出力を右クリックして[プロパティウィンドウ]を左クリック。
f:id:knkomko:20190915021656p:plain:w350

Name にショートカットアイコンの名称を入力します。
f:id:knkomko:20190915021856p:plain:w350

User's Program Menu のショートカットアイコンの名前が変更されています。
f:id:knkomko:20190915022208p:plain:w350

8. スタートメニューのショートカットにアイコンを指定

新たにアイコンを追加して使用する場合は 6. デスクトップのショートカットにアイコンを指定 と同じようにResourceにファイルを取り込む必要があります。
今回はデスクトップのショートカットと同じアイコンを使用します。

Shortcut toプライマリ出力を右クリックして[プロパティウィンドウ]を左クリック。
f:id:knkomko:20190915021656p:plain:w350

Icon の[Brows]を左クリック。
f:id:knkomko:20190915013629p:plain:w350

Setup1にアイコンファイルが保存されている場合は Lock in を選択するとファイル名が表示されます。
ファイル名を選択して[OK]を左クリック。
f:id:knkomko:20190915020345p:plain:w350

User's Program Menu のショートカットのIconは[Icon]となります。
f:id:knkomko:20190915023033p:plain:w350

9. インストーラの作成

Setup1を右クリックして[リビルド]を左クリックします。
f:id:knkomko:20190915024408p:plain:w350

出力が「すべてリビルド: 2正常終了、0失敗、0スキップ」となれば完了です。
[f:id:knkomko:20190915033214p:plain;w350]

プロジェクトフォルダ内のSetup1に「Setup.exe」「Setup1.msi」が作成されます。
f:id:knkomko:20190915024707p:plain:w350

10. インストーラの実行

発行元の情報の入力がどのように表示されているのか表示の確認を行います。
f:id:knkomko:20190915025758p:plain:w350

f:id:knkomko:20190915025943p:plain:w350

f:id:knkomko:20190915030040p:plain:w350

インストールの完了です。
f:id:knkomko:20190915030057p:plain:w350

コントロールパネルのアプリケーション名は ProductName となっていました。
f:id:knkomko:20190915030142p:plain:w350

スタートメニューにショートカットアイコンが作成されています。
f:id:knkomko:20190915030126p:plain:w250

デスクトップにも同様にショートカットアイコンが作成されています。
f:id:knkomko:20190915030213p:plain:w350

まとめ

操作性はInstallSheildに劣りますが無料で使える事を考えると十分な内容です。
オープンソースのツールも幾つかありますが VisualStudio Installer はMicrosoftがサポートしているため安心して使用できます。
今回はインストーラの基本的な使い方を確認しました。
次回は多言語、NuGetパッケージを利用した場合の使い方を確認したいと考えています。