【Visual Studio】Visual Studio 2022でインストーラを作成する
【Visual Studio】Visual Studio 2022でインストーラを作成する

【Visual Studio】Visual Studio 2022でインストーラを作成する

Visual Studio 2022(VS2022)で配布用のインストーラを作成しようと思いましたが、Setupプロジェクトが作れません。今まで、Visual Studio 2010(VS2010)を長く使っていましたので、ちょっと使い勝手が違い戸惑っていました。最近はほとんど配布用のインストーラを作成していませんでしたが、あまりPCに詳しくない人にちょっとしたツールを使っていただこうと思ったのですが、ファイルをローカルにコピーして使っていただくにはちょっと敷居が高かったようです。やはり簡単にインストールできるようにインストーラが必要な場面が多々あります。今回は、Visual Studio 2022でインストーラを作成する手順を忘備録として記録しておきます。

目次
  1. 環境
  2. 拡張機能をインストールする
  3. セットアッププロジェクトを作成する
  4. Setup Projectの設定をする
  5. Setup Projectのプロパティを設定する
  6. インストールアプリケーションを指定する
  7. デスクトップショートカットの設定
  8. スタートメニューの設定
  9. ショートカットにアイコンを設定
  10. Setup Projectをビルドしてインストーラを作成
  11. インストールのテスト
  12. インストーラの動作確認の結果

環境

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」のフォルダ下に「あと何日」が表示されているはずなのですが、フォルダが無く「あと何日」が直接メニューに作成されています。なぜかインストーラで設定したフォルダが作成されていません。原因がわかりました。こちらで説明していますのでご参考になれば幸いです。

📎📎📎📎📎📎📎📎📎📎
BOT