Visual Studio 2022でインストーラ作成

C#やVB.NETで作成したWindowsフォームアプリに対してインストーラを作成してみる。

以前(※)も同じような記事を書いたけど、最新版に書き直し。
Visual Studio 2017でインストーラ作成
・Win10 → Win11
・Visual Studio 2017 → 2022

最近では、msix形式のインストーラも出てはいるみたいだけど、脆弱性が見つかって一時無効化されたり、バタバタしているようなので少し様子見。
それと、今回対象としているアプリは、WPFとかでなく、Windowsフォームアプリってことでmsi形式のインストーラで充分。
<追記>.NET Frameworkだけじゃなく、.NET 6や7、8(.NET Core系)でも作成できる。

ということで、早速作成方法。

 

もくじ


Visual Studio Installer Projectsの追加

  ※Visual Studio Installerインストール済みの場合、「Windowsアプリケーションの作成」へ

  1. Visual Studioを起動
  2. 拡張管理
    [拡張機能]>[拡張機能の管理]メニューを開く。

    ※バージョンアップしたら「Manage Extensions」と英語表示なっていた。。

  3. ダウンロード
    [拡張機能の管理]ダイアログの右上の検索ボックスから”Visual Studio Installer Projects”を検索し、ダウンロード。

  4. インストール
    Visual Studioを閉じるとインストールが開始される。
    インストール完了後、再起動する。

 
 

Windowsアプリケーションの作成

直接インストーラ作成と関係ないため割愛。
参考:Hello World!作成

 
 

インストーラ作成

  1. ソリューションを開く
    Visual Studioでインストーラを作成したいアプリのプロジェクト(ソリューション)を開く。

  2. プロジェクトの追加
    ソニューションエクスプローラー(画面右側)のソリューションを右クリックし、
    [追加]>[新しいプロジェクト]メニューを開く。

  3. Setup Project
    [新しいプロジェクトを追加]ダイアログの検索ボックスに”Setup Project”を入力(選択)し、[次へ]ボタンをクリック。

  4. プロジェクト名
    [新しいプロジェクトを構成します]画面で、プロジェクト名を入力し、[作成]ボタンをクリック。

     
    セットアッププロジェクトが追加される。

  5. ファイルシステムの編集
    まずは、ファイルシステムから設定を行う。
    上記流れで、既に「Files System(Setup名)」タブが表示されていると思うが無い場合は、「ソリューションエクスプローラー」のセットアップ(Setup1)を右クリックし、ポップアップメニューで[View]>「ファイルシステム」を選択すると表示できる。

    Application Folder 作成したアプリケーション(exe,dllなど)のコピー先などをここで指定する。
    “C:\Program Files\ApplicationName\Application.exe”など
    User’s Desktop ユーザーのデスクトップにコピーするものを指定。
    プログラムのショートカットなどあれば指定。
    デスクトップに配置
    User’s Program Menu ユーザーのプログラムメニューに追加するものを指定。
    プログラムのショートカットなどを指定。

    ※設定方法は後述。

  6. アプリケーションフォルダの設定
    「Application Folder」を右クリックし、ポップアップメニュー[Add]>[プロジェクト出力]を選択。(※)

    .NET(Core)の場合は、[Add]>[ファイル]で、自分でファイルを選ぶ必要がある。
  7. [プロジェクト出力グループの追加]ダイアログが表示されるので、そこで「プライマリ出力を選択。
    すると、Windowsアプリケーションで作成したexeやdllなどをインストール対象として含んでくれる。
    あと「構成」は「Release」を選択。

    exeなど以外にも、例えばReadmeなどもインストールに含めておきたい場合、同様に、[Application Folder]を右クリックし、ポップアップメニュー[Add]>[ファイル]を選択しファイルを追加。

  8. ユーザーのデスクトップの設定
    デスクトップにアプリのショートカットを作成したい場合などは、こちらを編集する。
    今回は割愛。やり方は次の「ユーザーのプログラムメニューの設定」とほぼ同じ。

  9. ユーザーのプログラムメニューの設定
    今度はWindowsのスタートメニューに登録する情報を設定する。
    ※Windowsスタートメニューにフォルダが必要な場合のみ

    「User’s Programs Menu」を右クリックし、ポップアップメニュー[Add]>[Folder]を選択。

    フォルダ名を変更。(今回はアプリケーション名である”プチカレンダ”という名に変更)

  10. ショートカット作成
    更に、作成したフォルダが選択された状態で、右側のListView画面を右クリックし、ポップアップメニュー[新しいショートカットの作成]を選択。

    [Select Item in Project]ダイアログが表示されるので、そこでリストの中から”Application Folder”を選択([OK]押下またはダブルクリック)後、”プライマリ出力 from ~(Release Any CPU)”を選択し[OK]押下。

    Readmeについてもexe同様にショートカットを作成。

  11. プロパティ変更
    メイン画面に戻り、追加された”Shortcut to プライマリ出力 from ~”を選択し、画面右側のプロパティで、[Name]を上記名前から、任意のショートカット名に変更する。
    (ここでは、アプリ名の”プチカレンダ”に改名)

  12. アイコン変更
    次に、表示するアイコンも変更する。
    上記、[Name]同様に、プロパティの一覧にある[Icon]をダブルクリック。
    表示された「Icon」ダイアログの[Browse…]ボタンを押下する。

    「Select Item in Project」ダイアログで、アイコンの参照先である”Application Folder”をダブルクリック後、[File of Type]で”Execute Files(*.exe)”を選択。
    すると一覧に”プライマリ出力 from ~(Release Any CPU)”などが表示されるので、これを選択し[OK]押下。

    [Icon]ダイアログに戻ると、exeファイル内にあったアイコンが表示されているので、このアイコンを選択し[OK]押下。

    これで、exeのショートカットがプログラムメニューの方にも登録され、必要最小限の設定は完了。

  13. プロパティの設定値を変更
    最後に、セットアッププロジェクトのプロパティを一部修正する。

    [ソリューション エクスプローラー]で”Setup1″を選択し、その下のプロパティ一覧で必要に応じて以下の情報を修正する。

    AddRemoveProgramsIcon インストール後、「アプリと機能」一覧に表示されるアイコン。
    アイコンの変更方法は、上記同様。
    Author デフォルトはメールアドレス。
    今回は、作者”osada”に修正。
    Manufacturer デフォルトはメールアドレス。
    今回は、メーカー”OsadaSoft”に修正。
    ManufacturerUrl デフォルトは空欄。
    今回は、当サイトのURLに修正。
    ProductName デフォルトは作成したプロジェクト名(Setup1)。
    製品名。インストール時のフォルダ名にも使用される。
    今回は、”プチカレンダ”に修正。
    RemovePreviousVersions デフォルトはFalse。
    Trueに設定しておくと、旧バージョンがインストールされているとき、自動的に旧バージョンを削除。
    Title デフォルトは作成したプロジェクト名(Setup1)。
    セットアップ時の画面や、プロパティのタイトル名等に使用される。
    今回は、”プチカレンダ”に修正。
    Version デフォルトは、1.0.0。
    [アプリと機能]の一覧でも表示されるバージョン番号。
    今回は、アプリ本体とバージョン番号を合わせ修正。
  14. セットアップファイル名変更
    必要に応じてセットアップ(インストーラ)のファイル名を変更する。
    ソリューションエクスプローラー内にある今作成したプロジェクト(Setup1)を右クリックし、「プロパティ」を開き、「Output file name」を任意の名前に変更する。
     

    例)
     変更前:Release\Setup1.msi
     変更後:Release\SetupPetitCalendar.msi

  15. 必須コンポ選択
    [Prequisites…]ボタンをクリックし「必須コンポーネント」ダイアログを開く。

    ランタイムを選択。

    今回は、Microsoft .NET Framework 4.7.2(x86およびx64)を選択。

    ※.NET 8で作った場合でも「.NET デスクトップランタイム8.0.0(x64)」等をちゃんと選べる。
     「.NET デスクトップランタイム8.0.0(x64)」と「.NET ランタイム8.0.0(x64)」は別物なので要注意。

  16. インストーラを作成
    設定が終わったので、いよいよインストーラの作成。
    「ソリューション エクスプローラー」で今回作成したセットアッププロジェクト(ここでは”Setup1″)を右クリックし、ポップアップメニュー[ビルド]を選択。

    これで、Setup1\Releaseフォルダ配下にも、”setup.exe”と”SetupPetitCalendar.msi”ファイルが作成される。

インストール実行

  1. インストーラの実行(テスト)
    作成されたインストーラを試す場合、”setup.exe”を実行してみる。(msiが使えるPCであればmsi側でもOK)
    それか、先ほどのVisual Studio上で”Setup1″のプロジェクトを右クリックし、ポップアップメニュー[インストール]を実行してみてもOK。


    セットアップウィザードへようこそ


    インストールフォルダの選択


    インストールの確認


    ~をインストールしています


    インストールが完了しました

    これでインストール完了。
    プログラムメニューにも登録されている。

 

アンインストールする場合は、以下のいずれかで行う。
・インストール時同様、Visual Studio上のポップアップメニューから「アンインストール」を選択
・再度、エクスプローラーから”setup.exe”を実行
・一般のアプリ同様、[アプリと機能]からアンインストールから実行
 
 

One Comment on “Visual Studio 2022でインストーラ作成”

  1. 久しぶりにインストーラーを作る必要があり、検索して参考にさせて貰いました。
    とても有益な情報をありがとうございます。

ysfm.t へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


*