Visual Studio 2022でアプリケーションのインストーラーを作成する
この記事について
ゴール
Visual Studio 2022で作成したアプリケーションのインストーラーが作成できるようになる。
対象読者
- Visual Studio 2022でアプリケーションを作成できる人
- インストーラーを作ってアプリケーションを配布したい人
使用する開発環境
- Microsoft Visual Studio Community 2022
注意事項
拡張機能のインストール
拡張機能の管理から、[Microsoft Visual Studio Installer Projects 2022]をインストールする。
インストール対象のアプリケーションの発行設定を行う
-
ソリューションエクスプローラーでインストール対象のプロジェクトを右クリックして、[発行]をクリックする。
-
ターゲットは[フォルダー]を選択して[次へ]をクリックする。
-
特定のターゲットも[フォルダー]を選択して[次へ]をクリックする。
-
場所は好きな場所を指定して[次へ]をクリックする。
-
[Properties\PublishProfiles\FolderProfile.pubxml]が生成されるので、[閉じる]をクリックする。
ソリューションにSetup Projcetを追加する
-
ソリューションエクスプローラーでソリューションを右クリックして、[追加]->[新しいプロジェクト]をクリックする。
-
[Setup Project]を選択して[次へ]をクリックする。
-
プロジェクト名と場所を指定して[作成]をクリックする。
Setup Projectの設定を行う
プロパティの設定
-
ソリューションエクスプローラーでSetup Projectを右クリックして、[プロパティ]をクリックする。
-
Release構成で[Prerequisites...]をクリックする。
-
インストール対象のアプリケーションを動作させるために必要なコンポーネントを指定して、インストール場所を指定する。
WPF+.NET6の場合は[.NET デスクトップ ランタイム 6.x.x]を必須コンポーネントに指定する。
インストールさせたいPCがインターネットにつながっていない可能性があればインストール場所をアプリケーションと同じ場所にする。
デフォルトで[Microsoft .NET Framework 4.7.2 (x86 および x64)]などが必須コンポーネントに指定されていることがあるため、不要であればチェックを外す。
-
ソリューションエクスプローラーでSetup Projectをクリックして、プロパティを表示する。
-
以下のプロパティを設定する。必要に応じて他のプロパティを設定する。
- Author:インストーラーの作成者
- Manufacturer:インストール対象のアプリケーションの製造者
- ProductName:インストール対象のアプリケーション名
- RemovePreviousVersions:前のバージョンを削除する場合は「True」にする
- TargetPlatform:インストール対象のアプリケーションのPlatformに合わせる
- Title:インストーラーのタイトル
- Version:インストール対象のアプリケーションのバージョン
インストール対象のアプリケーションの指定
-
ソリューションエクスプローラーでSetup Projectを右クリックして、[View]->[ファイルシステム]をクリックする。
-
[Application Folder]を右クリックして、[Add]->[プロジェクト出力]をクリックする。
-
プロジェクトを選択して、[項目の公開]を選択し、構成を[Release Any CPU]にして[OK]をクリックする。
-
[項目の公開 from プロジェクト名]をクリックして、プロパティを表示する。
-
PublishProfilePathのプロパティを「Properties\PublishProfiles\FolderProfile.pubxml」にする。
デスクトップショートカットの設定
-
[User's Desktop]をクリックして、右側の空白部分を右クリックし、[新しいショートカットの作成]をクリックする。
-
[Look in]を[Application Folder]にして、[項目の公開 from プロジェクト名]を選択して[OK]をクリックする。
-
[Shortcut to 項目の公開 from プロジェクト名]をアプリケーション名に変更する。
スタートメニューの設定
スタート->会社名->アプリケーション名のようにツリー構成にする場合はFolderを作成してツリー構成にする。
スタート->アプリケーション名の場合はFolderの作成は不要である。
-
[User's Programs Menu]を右クリックして、[Add]->[Folder]をクリックして、[New Folder #1]の名前を適宜変更する。
-
新しく追加したフォルダをクリックして、右側の空白部分を右クリックし、[新しいショートカットの作成]をクリックする。
-
[Look in]を[Application Folder]にして、[項目の公開 from プロジェクト名]を選択して[OK]をクリックする。
-
[Shortcut to 項目の公開 from プロジェクト名]をアプリケーション名に変更する。
Setup Projectをビルドしてインストーラーを作成する
ソリューション構成を「Release」にして、ビルドを行う。
ビルドが成功すると、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の場合)】
- https://dotnet.microsoft.com/ja-jp/download/dotnet/6.0 にアクセスして、.NET デスクトップ ランタイム 6.x.xをダウンロードする。
- ダウンロードしたファイルを[C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Microsoft\VisualStudio\BootstrapperPackages\net6desktopruntime_x64]に格納する。
Discussion