【Visual Studio】Visual Studio 2022でインストーラを作成する
Visual Studio 2022(VS2022)で配布用のインストーラを作成しようと思いましたが、Setupプロジェクトが作れません。今まで、Visual Studio 2010(VS2010)を長く使っていましたので、ちょっと使い勝手が違い戸惑っていました。最近はほとんど配布用のインストーラを作成していませんでしたが、あまりPCに詳しくない人にちょっとしたツールを使っていただこうと思ったのですが、ファイルをローカルにコピーして使っていただくにはちょっと敷居が高かったようです。やはり簡単にインストールできるようにインストーラが必要な場面が多々あります。今回は、Visual Studio 2022でインストーラを作成する手順を忘備録として記録しておきます。
目次- 環境
- 拡張機能をインストールする
- セットアッププロジェクトを作成する
- Setup Projectの設定をする
- Setup Projectのプロパティを設定する
- インストールアプリケーションを指定する
- デスクトップショートカットの設定
- スタートメニューの設定
- ショートカットにアイコンを設定
- Setup Projectをビルドしてインストーラを作成
- インストールのテスト
- インストーラの動作確認の結果
環境
PC : THERDWAVE Magnate IMOS : Windows11 Home 23H2Microsoft Visual Studio Community 2022 Version 17.76拡張機能:Microsoft Visual Studio Installer Projects 2022
開発環境の詳細はこちら。
拡張機能をインストールする
Visual Studio 2022を起動します。メニューの「拡張機能」から「拡張機能の管理」を選択します。
「拡張機能の管理」ダイアログが開きます。「オンライン」を選択し、検索窓で”installer”を検索します。検索結果に”Microsoft Visual Studio Installer Project 2022“が表示されると思います。
”Microsoft Visual Studio Installer Project 2022”の[ダウンロード]をクリックします。
ダウンロードが開始され、あっという間に終わります。「拡張機能の管理」の[閉じる]で終了します。
一度、Visual Studioを終了します。「VSIX Installer」が起動します。[Modify]をクリックします。
インストールが始まります。
インストールが終了しました。
Visual Studio 2022を起動します。メニュー「拡張機能」「拡張機能の管理」をクリックし、「拡張機能の管理」ダイアログを開きます。「インストール済み」を選択し、”Microsoft Visual Studio Installer Project 2022″が表示されていることを確認します。
セットアッププロジェクトを作成する
Visual Studioでインストーラを作成するプログラムのソリューションを開きます。こんな感じです。
ソリューションに新しいプロジェクトを追加します。「ソリューションエクスプローラ」の「ソリューション****(*のプロジェクト)」を選択します。右クリックでコンテキストメニューから「追加」→「新しいプロジェクト」を選択します。
「新しいプロジェクトを追加」が開きます。この一覧の中から、「Setup Project」を選択し、[次へ]をクリックします。
プロジェクト名を入力して、[作成]をクリックします。
ソリューションにSetupプロジェクトが追加されました。
Setup Projectの設定をする
ソリューションエクスプローラでSetup Projectを右クリックしてコンテキストメニューから[プロパティ]を選択します。
「プロパティページ」が開きます。「構成」を”Release”にして[Prerequisites…]をクリックします。
「必須コンポーネント」が開きます。「必須コンポーネントをインストールするセットアッププログラムを作成する」のチェックを確認します。また、「必須コンポーネントをコンポーネントの開発元のWebサイトからダウンロードする」を選択しておきます。[OK]をクリックします。
Setup Projectのプロパティを設定する
ソリューションエクスプローラでSetup Projectをクリックしてプロパティを表示します。
プロパティを設定します。ここでは、以下のプロパティを設定しておきます。
- Author : インストーラの作成者
- Manufacture : アプリケーションの製造者
- ProductName : アプリケーション名
- RemovePreviousVersions : 前のバージョンを削除する場合は”True”に設定
- Title : インストーラのタイトル
- Version : アプリケーションのバージョン
インストールアプリケーションを指定する
ソリューションエクスプローラでSetup Projectを右クリックしてコンテキストメニュー「View」「ファイルシステム」を選択します。
「File System」が開きます。
「Application Folder」を右クリックして、「Add」「プロジェクト出力」を選択します。
「プロジェクト出力グループの追加」が表示されます。ここでは、「プライマリ出力」を選択しておきます。[OK]をクリックします。
「Application Folder」に出力されるファイルが追加されました。
今回は「プライマリ出力」の「プロパティ」は変更しません。
デスクトップショートカットの設定
個人的にデスクトップにショートカットを置くことが好きではないので、設定しません。
スタートメニューの設定
[スタート]ー[mamesfactory]ー[アプリケーション]のようにしたいので次のような手順で作業しました。「User’s Programs Menu」で右クリックし「Add」「Folder」を選択します。
「New Folder #%d1」のフォルダが作成されました。
フォルダ名を「mamesfactory」に変更します。
「mamesfactory」フォルダを選択して、Name,Typeのコントロール上で右クリックして「新しいショートカットの作成」を選択します。
「Select Item in Project」が開きます。「Lock in:」を「Application Folder」に変更し、「プライマリ出力」を選択し[OK]をクリックします。
「mamesfactory」のフォルダに「Shortcut to ***」ができます。これをアプリケーション名に変更します。
ショートカットにアイコンを設定
ここでは、ターゲットソフトウェアのアイコンを直接設定します。「あと何日」を選択して、「プロパティ」ウィンドウを表示します。「Icon」を選択し、「(Browse…)」を選択します。
「Icon」ウィンドウが開きます。[Browse…]をクリックします。
「Select Item in Project」ウィンドウが開きます。「Lock in:」を”Application Folder”に変更し、「Files of type:」を”Executable Files(*.exe)”に変更します。リストに”プライマリ出力*****が表示されると思います。この”プライマリ出力*****”を選択して[OK]をクリックします。
「Icon」ウィンドウにターゲットソフトウェアのアイコンが表示されます。アイコンを選択して、[OK]をクリックします。これで、メニューにもターゲットソフトウェアのアイコンが表示されるはずです。
Setup Projectをビルドしてインストーラを作成
「ソリューション構成」を”Release”に設定します。Setup Projectを選択して右クリックし、「ビルド」を選択します。
ビルドが終わると、出力ウィンドウに情報が表示されます。msiファイルの出力フォルダ先も表示されています。
インストールのテスト
Visual Studioからインストールのテストができます。「ソリューションエクスプローラ」でSetup Projectを選択し、右クリックしメニューから「インストール」を選択します。
インストーラが起動します。
このまま、インストーラの動作を確認することができます。
インストーラの動作確認の結果
Windows11のスタートメニューから「すべてのアプリ」を開いてみました。
しかし、思ったイメージにはメニューが出来ていません。イメージ的には上の「アクセシビリティ」のように「mamesfactory」のフォルダ下に「あと何日」が表示されているはずなのですが、フォルダが無く「あと何日」が直接メニューに作成されています。なぜかインストーラで設定したフォルダが作成されていません。原因がわかりました。こちらで説明していますのでご参考になれば幸いです。