Visual Studio 2017で作成したWindows Formアプリケーションのインストーラ作成方法を備忘録としてまとめてみた。
最新版はこちら。→Visual Studio 2022でインストーラ作成
過去にも自作ソフトを配布する際、何度かインストーラを作成して配布していたこもあったけど、ここ最近は、インストーラを作成せず、exeなどをzipで固めて配布していた。
その方が楽だし、利用者も抵抗感が少ないと思ったから。
でも、たまに実行権限の問題や、スタートアップ登録方法など問い合わせを受けることもある。
場合によっては、インストーラ付きでの配布を求められるシーンもある。
そんな訳で、また忘れてしまうであろうインストーラ作成方法をメモっておくことに。
昔はVisual Studioでセットアッププロジェクト(msi形式のインストーラ)を簡単に作成できたけど、
Visual Studio 2012以降では、セットアップ プロジェクトが無くなり、ウィザードでインストーラ作成(ディプロイメント)することが出来なくなってしまった。
当時、困って調べたらセットアッププロジェクトに代わり、InstallShield Limited Editionを使ってインストーラを作れることが分かった。
Excelを使ったプログラムとインストーラの作成
なので、今回もInstallShieldを使って作ろうと思ったんだけど、Visual Studio 2017 Community 2017ではInstallShield Limited Editionが無くなっている。
これからは、やっぱりInstallShieldの時代で、皆さんちゃんと有料版使ってインストーラ作ってくださいって流れなのかな。
でも、何とかコストをかけずに気軽にインストーラ作れないか調べてみたところ、一度無くなった(と思われていた)msi形式のインストーラ作成用のコンポーネント(Visual Studio Installer Projects)が復活していた。
簡単なインストーラしか作成できないけど、これで十分。
だいぶ使い方を忘れてしまったので、自分用のメモとしても使い方を残しておくことに。
Visual Studio Installer Projectsの追加
何はともあれ、Visual Studio 2017に、[Visual Studio Installer Projects]を追加してみる。
Visual Studioを起動し、[ツール]>[拡張機能と更新プログラム]メニューを開く。
「拡張機能と更新プログラム」ダイアログが表示されるので、画面左側のツリーから「オンライン」を選択し、画面右上の検索ボックスで「Installer Projects」を指定し検索。
すると、「Microsoft Visual Studio 2017 Installer Projects」が引っ掛かるので、これを「ダウンロード」。
ダイアログと、Visual Studioを閉じるとインストールが始まる。
これでVisual Studio Installer Projectsのインストールは完了。
Windowsアプリケーションの作成
こちらは、既に作成済みと思うので割愛。
参考:
Hello World!作成
インストーラ作成
そして、ここから今回の肝となるインストーラの作成の手順。
- ソリューションを開く
Visual Studioを起動し、あらかじめ作成したWindowsアプリケーションを開く。
(または、エクスプローラーからソリューションのファイル *.sln ダブルクリック)
- プロジェクトの追加
画面右側にある「ソリューションエクスプローラー」のツリー一覧の中から、一番トップにある「ソリューション」を右クリックし、ポップアップメニュー「追加」>「新しいプロジェクト」を選択。
- プロジェクトの種類選択
「Setup Project」を選択し[OK]ボタン押下。
- ファイルシステムの編集
まずは、ファイルシステムから設定を行う。
上記流れで、既に「Files System(Setup名)」タブが表示されていると思うが無い場合は、「ソリューションエクスプローラー」のセットアップ(Setup1)を右クリックし、ポップアップメニューで[View]>「ファイルシステム」を選択すると表示できる。
最初に以下の3つのフォルダが用意されている。
主な役割は以下のような感じ。- Application Folder
作成したアプリケーション(exe,dllなど)のコピー先などをここで指定する。
“C:\Program Files\ApplicationName\Application.exe”など - User’s Desktop
ユーザーのデスクトップにコピーするものを指定。
プログラムのショートカットなどあれば指定。
デスクトップに配置 - User’s Program Menu
ユーザーのプログラムメニューに追加するものを指定。
プログラムのショートカットなどを指定。
- Application Folder
- アプリケーションフォルダの設定
「Application Folder」を右クリックし、ポップアップメニュー[Add]>[プロジェクト出力]を選択。
「プロジェクト出力グループの追加」ダイアログが表示されるので、そこで「プライマリ出力を選択。
すると、Windowsアプリケーションで作成したexeやdllなどをインストール対象として含んでくれる。
あと「構成」は「Release」を選択。
exeなど以外にも、例えばヘルプファイルや、Readmeなどもインストールに含めておきたい場合、同様に、[Application Folder]を右クリックし、ポップアップメニュー[Add]>[ファイル]を選択。
そこで、ヘルプファイルやReadmeファイルなどを指定し追加。
- ユーザーのデスクトップの設定
デスクトップにアプリのショートカットを作成したい場合などは、こちらを編集する。
今回は割愛。やり方は次の「ユーザーのプログラムメニューの設定」とほぼ同じ。
- ユーザーのプログラムメニューの設定
今度はWindowsのスタートメニューに登録する情報を設定する。
「User’s Programs Menu」を右クリックし、ポップアップメニュー[Add]>[Folder]を選択。
フォルダ名を変更。(今回はアプリケーション名である”RSS速報”という名に変更)
更に、作成したフォルダが選択された状態で、右側のListView画面を右クリックし、ポップアップメニュー[新しいショートカットの作成]を選択。
「Select Item in Project]ダイアログが表示されるので、そこでリストの中から”Application Folder”を選択後、”プライマリ出力 from ~(Release Any CPU)”を選択し[OK]押下。
メイン画面に戻り、追加された”Shortcut to プライマリ出力 from ~”を選択し、画面右側のプロパティで、[Name]を上記名前から、任意のショートカット名に変更する。
(ここでは、アプリ名の”RSS速報”に改名)
次に、表示するアイコンも変更する。
上記、[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のショートカットがプログラムメニューの方にも登録された。
これで必要最小限の設定は完了。
- 名前の変更
最後に、セットアッププロジェクトのプロパティを一部修正する。
[ソリューション エクスプローラー]で”Setup1″を選択し、その下のプロパティ一覧で必要に応じて以下の情報を修正する。
・Author
・Manufacturer
⇒これらメールアドレスだったので必要に応じて修正
・ProductName
・Title
⇒セットアップのプロジェクト名から、アプリケーション名に変更(今回は”Setup1″⇒”RSS速報”)
- インストーラを作成
設定が終わったので、いよいよインストーラの作成。
「ソリューション エクスプローラー」で今回作成したセットアッププロジェクト(ここでは”Setup1″)を右クリックし、ポップアップメニュー[ビルド]を選択。
これで、Setup1\Releaseフォルダ配下にも、”setup.exe”と”Setup1.msi”ファイルが作成される。
- インストーラの実行(テスト)
作成されたインストーラを試す場合、”setup.exe”を実行してみる。(msiが使えるPCであればmsi側でもOK)
それか、先ほどのVisual Studio上で”Setup1″のプロジェクトを右クリックし、ポップアップメニュー[インストール]を実行してみてもOK。
インストール
これでインストール完了。
プログラムメニューにも登録されている。
アンインストールする場合は、インストール時同様、Visual Studio上のポップアップメニューから「アンインストール」を選択するか、再度、エクスプローラーから”setup.exe”を実行するか、一般のアプリ同様、コントロールパネル>プログラムのアンインストールから実行する。