Visual Studio 2012からは従来の「セットアップ プロジェクト」が削除され、
デフォルトの状態ではセットアッププロジェクトを作成できなくなりました。
ですが心配はご無用。
「Visual Studio Installer Projects」というアドオンなるものがMicrosoftから提供されています。
※上記リンクは2017用
Visual Studio 2015までの無償のExpress Editionでは利用できませんでしたが、2017, 2019のCommunityでは利用できます。
今回は忘れがちな小技や設定を書き残しておきたいと思います。
なお、Visual Studioインストーラの簡易条件分岐の方法はこちらの記事を参照ください。
プログラムと機能で表示されるバージョンの変更方法です。
この部分↓
①ソリューション エクスプローラーでセットアッププロジェクトを選択します。
②プロパティタブを選択します。
※1 プロパティウィンドウが表示されていない場合は、「F4」または 表示>プロパティ ウィンドウ から表示してください。
※2 セットアッププロジェクトを 右クリック>プロパティ ではありません。
こちらもプログラムと機能で表示される項目で、アイコンの変更方法です。
この部分↓
①と②の手順は、プログラムと機能のバージョンの変更方法と同じです。
③プロパティ一覧から AddRemoveProgramsIcon を編集します。
※なおアイコンの選択には、セットアッププロジェクトのファイルシステム上からファイルを選択する必要があるため(Desktopなどからファイルを選べるわけではない)、インストール環境にはどこかしらにアイコンを入れる必要があります。
ぼくがデスクトップアプリに携わるときは、
というレイアウトが多いのですが、そのショートカットのアイコンの設定方法です。
①ソリューション エクスプローラーでセットアッププロジェクトを選択します。
③どこかしらに作った(※)ショートカットを 右クリック>プロパティ ウィンドウ を選択します。
※ここではDesktop
デフォルトの状態でセットアッププロジェクトをビルドすると、下記の2つのファイルができます。
これを.msiの1つにする小技。
①ソリューション エクスプローラーでセットアッププロジェクトを右クリック。
②Prerequisites…ボタンをクリックして、必須コンポーネントダイアログを開きます。
③必須コンポーネントをインストールするセットアップ プログラムを作成する をOFFにします。
④OK>OKを選択し、通常通りビルド。
ただし、この方法は 必須コンポーネントをインストールするセットアップ プログラムに同梱しない場合に限ります。
同梱すると、setup.exe内にFrameworkの情報を持つようで、1つにできません。
デスクトップアプリを使用する環境で、.NET Frameworkがインストールされていない場合に備えて、必要な.NET Frameworkを同梱することができます。
VisualStudioが見るBootstrapperというフォルダに、必要な.NET Frameworkを格納しておくことで実現できます。
①と②の必須コンポーネントダイアログまでは、ファイルを1つ(.msi)のみにすると同じです。
③必要な.NET FrameworkのバージョンのチェックをONにします。
④必須コンポーネントのインストール場所を、「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」を選択します。
⑤必要な.NET Frameworkのオフラインインストーラ(英語版と日本語版)を Microsoft公式 からダウンロードする。
⑥ダウンロードした英語版の.NET Frameworkを下記のフォルダに配置する。
例)Visual Studio 2015で.NET Framework 4.5.2の場合
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX452
⑦ダウンロードした日本語版の.NET Frameworkを下記のフォルダに配置する。
例)Visual Studio 2015で.NET Framework 4.5.2の場合
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX452\ja
⑧あとはセットアッププロジェクトをビルドすると、エラーが出ずに出力されます。
他にもあれば追記していきます。