Visual Studio 2022でインストーラを作る

プログラミング

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

Sponsored links
Sponsored links

環境

PC : THERDWAVE Magnate IM
OS : Windows11 Home 23H2

Microsoft 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″が表示されていることを確認します。

Setup Projectを作成する

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」のフォルダ下に「あと何日」が表示されているはずなのですが、フォルダが無く「あと何日」が直接メニューに作成されています。

なぜかインストーラで設定したフォルダが作成されていません。

原因がわかりました。こちらで説明していますのでご参考になれば幸いです。

タイトルとURLをコピーしました