💻

Visual Studio 2022でアプリケーションのインストーラーを作成する

2022/07/31に公開

この記事について

ゴール

Visual Studio 2022で作成したアプリケーションのインストーラーが作成できるようになる。

対象読者

  • Visual Studio 2022でアプリケーションを作成できる人
  • インストーラーを作ってアプリケーションを配布したい人

使用する開発環境

  • Microsoft Visual Studio Community 2022

注意事項

拡張機能のインストール

拡張機能の管理から、[Microsoft Visual Studio Installer Projects 2022]をインストールする。

インストール対象のアプリケーションの発行設定を行う

  1. ソリューションエクスプローラーでインストール対象のプロジェクトを右クリックして、[発行]をクリックする。
    発行設定その1

  2. ターゲットは[フォルダー]を選択して[次へ]をクリックする。
    発行設定その2

  3. 特定のターゲットも[フォルダー]を選択して[次へ]をクリックする。
    発行設定その3

  4. 場所は好きな場所を指定して[次へ]をクリックする。
    発行設定その4

  5. [Properties\PublishProfiles\FolderProfile.pubxml]が生成されるので、[閉じる]をクリックする。
    発行設定その5

ソリューションにSetup Projcetを追加する

  1. ソリューションエクスプローラーでソリューションを右クリックして、[追加]->[新しいプロジェクト]をクリックする。
    Setup Projectの追加その1

  2. [Setup Project]を選択して[次へ]をクリックする。
    Setup Projectの追加その2

  3. プロジェクト名と場所を指定して[作成]をクリックする。
    Setup Projectの追加その3

Setup Projectの設定を行う

プロパティの設定

  1. ソリューションエクスプローラーでSetup Projectを右クリックして、[プロパティ]をクリックする。
    プロパティ設定その1

  2. Release構成で[Prerequisites...]をクリックする。
    プロパティ設定その2

  3. インストール対象のアプリケーションを動作させるために必要なコンポーネントを指定して、インストール場所を指定する。
    WPF+.NET6の場合は[.NET デスクトップ ランタイム 6.x.x]を必須コンポーネントに指定する。
    インストールさせたいPCがインターネットにつながっていない可能性があればインストール場所をアプリケーションと同じ場所にする。
    デフォルトで[Microsoft .NET Framework 4.7.2 (x86 および x64)]などが必須コンポーネントに指定されていることがあるため、不要であればチェックを外す。
    プロパティ設定その3

  4. ソリューションエクスプローラーでSetup Projectをクリックして、プロパティを表示する。

  5. 以下のプロパティを設定する。必要に応じて他のプロパティを設定する。

    • Author:インストーラーの作成者
    • Manufacturer:インストール対象のアプリケーションの製造者
    • ProductName:インストール対象のアプリケーション名
    • RemovePreviousVersions:前のバージョンを削除する場合は「True」にする
    • TargetPlatform:インストール対象のアプリケーションのPlatformに合わせる
    • Title:インストーラーのタイトル
    • Version:インストール対象のアプリケーションのバージョン
      プロパティ設定その4

インストール対象のアプリケーションの指定

  1. ソリューションエクスプローラーでSetup Projectを右クリックして、[View]->[ファイルシステム]をクリックする。
    アプリケーションの指定その1

  2. [Application Folder]を右クリックして、[Add]->[プロジェクト出力]をクリックする。
    アプリケーションの指定その2

  3. プロジェクトを選択して、[項目の公開]を選択し、構成を[Release Any CPU]にして[OK]をクリックする。
    アプリケーションの指定その3

  4. [項目の公開 from プロジェクト名]をクリックして、プロパティを表示する。
    アプリケーションの指定その4
    アプリケーションの指定その5

  5. PublishProfilePathのプロパティを「Properties\PublishProfiles\FolderProfile.pubxml」にする。
    アプリケーションの指定その6

デスクトップショートカットの設定

  1. [User's Desktop]をクリックして、右側の空白部分を右クリックし、[新しいショートカットの作成]をクリックする。
    デスクトップショートカットの設定その1

  2. [Look in]を[Application Folder]にして、[項目の公開 from プロジェクト名]を選択して[OK]をクリックする。
    デスクトップショートカットの設定その2

  3. [Shortcut to 項目の公開 from プロジェクト名]をアプリケーション名に変更する。
    デスクトップショートカットの設定その3

スタートメニューの設定

スタート->会社名->アプリケーション名のようにツリー構成にする場合はFolderを作成してツリー構成にする。
スタート->アプリケーション名の場合はFolderの作成は不要である。

  1. [User's Programs Menu]を右クリックして、[Add]->[Folder]をクリックして、[New Folder #1]の名前を適宜変更する。
    スタートメニューの設定その1

  2. 新しく追加したフォルダをクリックして、右側の空白部分を右クリックし、[新しいショートカットの作成]をクリックする。
    スタートメニューの設定その2

  3. [Look in]を[Application Folder]にして、[項目の公開 from プロジェクト名]を選択して[OK]をクリックする。
    スタートメニューの設定その3

  4. [Shortcut to 項目の公開 from プロジェクト名]をアプリケーション名に変更する。
    スタートメニューの設定その4

Setup Projectをビルドしてインストーラーを作成する

ソリューション構成を「Release」にして、ビルドを行う。
Setup Projectのビルド

ビルドが成功すると、Setup Projectのフォルダの中にあるReleaseフォルダに、以下のファイルが生成される。

  • *.exe
  • *.msi
  • 必須コンポーネントフォルダ([アプリケーションと同じ場所から必須コンポーネントをダウンロードする]を有効にした場合のみ)

これら一式を配布して[*.exe]を実行することでアプリケーションをインストールできる。

トラブルシューティング

アプリケーションと同じ場所から必須コンポーネントをダウンロードする構成でビルドエラーが発生する

【エラーメッセージ(.NET デスクトップ ランタイム 6.x.xの場合)】
ERROR: [必須コンポーネント] ダイアログ ボックスで [アプリケーションと同じ場所から必須コンポーネントをダウンロードする] を有効にするには、項目 '.NET デスクトップ ランタイム 6.0.7 (x64)' のファイル 'net6desktopruntime_x64\windowsdesktop-runtime-6.0.7-win-x64.exe' をローカル コンピューターにダウンロードする必要があります。詳細については、http://go.microsoft.com/fwlink/?LinkId=616018 を参照してください。

【対処法(.NET デスクトップ ランタイム 6.x.xの場合)】

  1. https://dotnet.microsoft.com/ja-jp/download/dotnet/6.0 にアクセスして、.NET デスクトップ ランタイム 6.x.xをダウンロードする。
  2. ダウンロードしたファイルを[C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Microsoft\VisualStudio\BootstrapperPackages\net6desktopruntime_x64]に格納する。

Discussion