Visual Basic 入門講座
VB.NET 2002 VB.NET 2003 VB2005 VB2008 VB2010 VB2012 VB2013 VB2015 VB2017 VB2019

第10回 友達のパソコンで実行する

この記事が対象とする製品・バージョン (バージョンの確認方法)

VB2019 Visual Basic 2019 対象です。
VB2017 Visual Basic 2017 対象です。
VB2015 Visual Basic 2015 対象です。
VB2013 Visual Basic 2013 対象です。
VB2012 Visual Basic 2012 対象です。
VB2010 Visual Basic 2010 対象です。
VB2008 Visual Basic 2008 対象です。
VB2005 Visual Basic 2005 対象です。
VB.NET 2003 Visual Basic.NET 2003 対象外ですがほとんどの操作は同じなので参考になります。
VB.NET 2002 Visual Basic.NET (2002) 対象外ですがほとんどの操作は同じなので参考になります。
VB6対応 Visual Basic 6.0 × 対象外です。

概要

・アプリケーションが動作するために必要な.NET Frameworkのバージョン

・exeファイルをコピーして友達のパソコンで動かす方法

・インストーラーを作成して友達のパソコンにアプリケーションをインストールする方法

 

1.アプリケーションの公開

 

Visual Studioで開発したアプリケーションを友達のパソコンやスマホで実行するにはどうすればよいでしょうか?

アプリケーションの種類が Webアプリケーション であれば、Webサーバーに配置してそのURLを友達に伝えるだけです。URLを入力するかリンクをクリックすれば友達のパソコンやスマホ上のブラウザーであなたのアプリケーションが動作します。

Webサーバーも最近はクラウドが普及しており無料の環境もあります。

だたし、Webアプリケーションの作成は初心者には難しくハードルは高いです。

メモ メモ  -  無料のWebサーバー

マイクロソフトが提供するクラウド環境 Azure では AppServiceの Freeプランを使って無料でアプリを公開することができます。

参考: 無料でAzureを使ってVB/C#のアプリを公開する方法

無料プランですから使用できるスペックや機能は最低限で、稼動の保証すらありません。それでも無料で使用できるようになったのは大きな進歩だと思います。

ただし、インターネット利用には危険があります。無料だからと言って安易に利用しないで犯罪に巻き込まれないように注意してください。あなたはWebアプリケーションのセキュリティの知識がありますか?Webアプリケーションを公開することで生のインターネットにさらされます。数日経つとハッキングなどの攻撃を受けます。あなたのWebアプリケーションからあなたの個人情報が漏れるかもしれません。またWebアプリケーションがのっとられて犯罪に使用されたらどうでしょう?その状況に気が付かず放置すること自体が犯罪と認定されてしまうかもしれません。

入門講座で扱ってきた、 Windowsフォームアプリケーションの場合は、ビルドしてできたexeを友達に渡すか、セットアップを作成するのが普通の方法です。

今回はWindowsフォームアプリケーションで作成したアプリケーションを友達のパソコンで動かす方法を説明します。

2.動作環境

具体的な説明に入る前に作ったアプリケーションが動作する環境を押さえておきましょう。

Windowsフォームアプリケーションで作成したアプリケーションは対応するフレームワークががインストールされたWindowsでのみ動作します。

フレームワークに.NET Frameworkを使用している場合、.NET Framework 4以降には強力な互換性があり、前のバージョンで作成したアプリはもっと新しいバージョンの.NET Frameworkでも動作します。

 

参考:.NET Framework 4、.NET Framework 4.5、NET Framework 4.6、または .NET Framework 4.7 アプリは、再コンパイルを必要とせずに実行を継続します。

https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/versions-and-dependencies#targeting-and-running-net-framework-apps-for-version-45-and-later

 

だから、あなたのプロジェクトのプロパティでターゲットフレームワークが.NET Framework 4.7.2になっている場合、友達のパソコンが.NET Framework 4.7.2以上であればそのアプリケーションは動作します。

プロジェクトのプロパティには使用しているフレームワークが表示されている

.NET Framework 4以降は、パソコンに複数インストールすることはできません。

(それ以前のバージョンの.NET Frameworkは共存できるものもあります。)

Windowsと.NET Frameworkの関係は下記の表の通りです。

  リリース年 Windows Vista Windows 7 SP1 Windows 8 Windows 8.1 Windows 10
.NET Framework 4 2010年 インストール可能 インストール可能      
.NET Framework 4.5 2012年 インストール可能 インストール可能 はじめから入っている    
.NET Framework 4.5.1 2013年 インストール可能 インストール可能 インストール可能 はじめから入っている  
.NET Framework 4.5.2 2014年 インストール可能 インストール可能 インストール可能 インストール可能  
.NET Framework 4.6 2015年 インストール可能 インストール可能 インストール可能 インストール可能 はじめから入っている
.NET Framework 4.6.1 2015年   インストール可能 インストール可能 インストール可能 インストール可能
.NET Framework 4.6.2 2016年   インストール可能   インストール可能 インストール可能
.NET Framework 4.7 2017年   インストール可能   インストール可能 インストール可能
.NET Framework 4.7.1 2017年   インストール可能   インストール可能 インストール可能
.NET Framework 4.7.2 2018年   インストール可能   インストール可能 インストール可能
.NET Framework 4.8 2019年   インストール可能   インストール可能 インストール可能

Windows7はSP1が前提です。Windows8、Windows8.1はSPまで調べ切れていません。最新のSPが適用されていれば問題ないはずです。Windows 10の場合はアップデートによって詳細は異なります。

参考:

https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/versions-and-dependencies#targeting-and-running-net-framework-apps-for-version-45-and-later

 

いまどき(2019年時点)、Windows Vistaを使っている人はほとんどいないので無視できます。

ということは、Windows 7だけ注意しておけばターゲットフレームワークに .NET Framework 4.5 を設定しておけば、ほとんどの友達のパソコンで実行できるはずです。

友達のパソコンがWindows 7で対象の.NET Frameworkがインストールされていない場合は下記に掲載されているリンクを使ってインストールしてもらってください。

https://docs.microsoft.com/ja-jp/dotnet/framework/deployment/deployment-guide-for-developers

 

.NET Framework 4.5以降は機能的にもあまり変わっていないので、あとでターゲットフレームワークのバージョンを変更してもだいたい動作すると思いますが、ビジネスで使うアプリケーションなどちゃんと動作してくれないと困る場合はターゲットフレームワークを変更したらテストをしっかりやり直す必要があります。

操作方法 操作 - インストールされている.NET Frameworkのバージョンを確認する方法

インストールされている.NET Frameworkのバージョンを簡単に確認する方法はありません。

ここに詳細な説明があります。説明どおりにするとバージョンが確認できますが、なかなか面倒です。パソコンに詳しくない人には無理です。

https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed

 

Windowsフォームアプリケーションは .NET Core 3.0以上でも作成できます。この場合は、動作させるには.NET Core 3.0以上が必要です。

現時点(2019年)では.NET Core 3.0でWindowsフォームアプリケーションを作成するメリットはほとんどないので、友達に配ろうと思うのならば.NET Frameworkで作成するのが良いです。

なお、.NET Core 3.0自体はWindowsの他macやLinuxでも動作するのが魅力ですが、.NET Core 3.0でWindowsフォームアプリケーションを使って作成したアプリケーションはWindowsでしか動作しません。

 

3.ファイルを直接渡す

3−1.exeファイルを作成して渡す

それでは、プログラムしたWindowsフォームアプリケーションを友達のパソコンで動かす方法を説明します。

方法は大きくわけて2つあります。まず簡単な方のファイルを直接渡す方法から説明します。

 

まず、プロジェクトのソリューションの構成を Releaseにしてください。

ビルド構成をReleaseに切り替える

 

次に、[ビルド]メニューから[ソリューションのリビルド]をクリックします。

そうすると、プロジェクトのフォルダー内にあるbin\Releaseフォルダーに下記のようなファイルが作成されます。

bin debugの中身

操作方法 操作 - そのフォルダーはどこ?

ソリューションエクスプローラーでプロジェクトを右クリックして、「エクスプローラーでフォルダーを開く」を選択しするとbinフォルダーのあるフォルダーが開きます。

なお、プロジェクトのプロパティで「コンパイル」タブの設定で「ビルド出力パス」を変更するとexeファイルが作られるフォルダーが変わります。わかりにくいのでこの設定は変更しないことをお勧めします。

 

 

この中で、拡張子が exe のファイルと exe.config であるファイルの2つを友達のパソコンにコピーします。

拡張子がpdbのファイルには個人情報が入っているので、友達には渡しません。(渡しても動きますが、個人情報がコピーされるのは気持ち悪いので)

拡張子が xml のファイルはプログラマー用の情報なので友達には不要です。これも渡しません。

 

シンプルなプログラムであればこれだけでOKです。

友達のパソコンで 拡張子が exe のファイルをダブルクリックするなどして実行すればあなたのプログラムが動作します。

 

もちろん、前述した.NET Frameworkのバージョンがインストールされていることなどが前提になります。

 

3−2.少し説明

 

デフォルトではソリューションの構成には Debug と Release があり、 Debugでビルドすると開発者用の調査・診断用の情報(デバッグ情報)が成果物に入ります。

初級講座で説明するデバッグ機能を使うときにはとても便利ですが、友達はデバッグしないので不要です。(不要なだけなのでDebugビルドしたものを渡しても動作はします。)

ビルド時に exeファイルが作成される場所は プロジェクトの binフォルダー内のDebugフォルダーまたはReleaseフォルダーになります。

 

exeファイルの名前はデフォルトではプロジェクト名です。たとえばWindowsApp1というプロジェクトではWindowsApp1.exeなどのファイルが作成されます。

ファイル名はプロジェクトのプロパティのアセンブリ名で変更できます。

アセンブリ名の設定

 

拡張子が pdbファイルには開発環境のフォルダー名が入っており、フォルダーの名前がユーザーの名前だったり個人情報が入っていることがあるので他人には渡さないでください。

 

プログラムが複雑になってきていろいろな機能を使い出すと、このフォルダーにはもっとたくさんのファイルが作成されることがあります。それらのファイルのほとんどは実行に必要なので一式を友達に渡してください。pdbファイルは渡さないように気をつけてください。

 

3−3.画像や音楽やデータベース

プログラムを実行するために、プログラム本体とは別にファイルやデータベースなどが必要になる場合があります。

たとえば、ゲームのプログラムでは画像や音楽を使用します。

プログラムで C:\vb\enemy.jpg を使用しているのであれば、友達のパソコンにも Cドライブのvbフォルダーの下にenemy.jpgを配置する必要があります。

これはとても下手な作り方です。上手に作ると画像や音楽のファイルをbinフォルダーから読み取るようにしたり、独立させずにexeの中に含めたりすることもできます。

その方法はプロジェクト自体に画像や音楽を含めることです。具体的なやり方は別の機会に説明します。とにかく、プログラムで使っているものがあればそのものが友達のパソコンでも使用できなければダメということを覚えておいてください。

 

4.セットアッププロジェクトでインストーラーを作成する

4−1.セットアッププロジェクト

友達のパソコンで実行するもう1つの方法としてWindowsのインストーラーを作成する方法があります。Windowsにアプリケーションをインストールするときに一般的に使用されるもので、たいていはSetup.exeやSetup.msiという名前です。これを友達のパソコンで実行することで.NET Frameworkを含め必要なもの一式がインストールされるという寸法です。

 

セットアッププロジェクトを使うとVisual Studioでインストーラーを作成できます。

セットアッププロジェクトは初期状態では使用できないのでまずセットアッププロジェクトを使えるようにVisual Studioを設定します。

Visual Studioのバージョンによってはセットアッププロジェクトは使用できません。Visual Studio 2015以降ではOKなようです。私はこの記事を作成するに当たりVisual Studio 2019で確認しています。

 

Visual Studioでセットアッププロジェクトを使えるようにするには、 まず、Visual Studioのメニューの[拡張機能]から拡張機能の管理をクリックします。

※Visual Studio 2017以前の場合は[ツール]メニューの拡張機能と更新プログラムです。

 

そして、オンラインをクリックし、右上の検索窓に「Installer」と入力してEnterをクリックします。Microsoft Visual Studio Installer Projectが検索されるのでDownloadをクリックします。

※Visual Studio 2015ではMicrosoft Visual Studio 2015 Installer Projectと表示されるようです。

この後、指示に従ってこの拡張機能をインストールをします。一度Visual Studioを閉じるとインストールが始まります。

途中表示されるこのダイアログはわかりにくいのですが、「Modify」をクリックするとライセンスに同意したことになり先に進めます。

これでインストールが終了すればセットアッププロジェクトが使えるようになります。

私の環境では10分くらい時間がかかりました。

 

4−2.セットアッププロジェクトの作成

それでは、さっそくあなたのプログラムしたアプリケーション用のインストーラーを作ってみましょう。

まずはあなたが作成したプロジェクトをVisual Studioで開いてください。

私はとりあえず以前説明した日付のサンプルを使ってみます。ターゲットフレームワークは.NET Framework 4.8です。

ターゲットフレームワークはこの後の作業でも重要になるので覚えておいてください。

操作方法 操作 - ターゲットフレームワークの確認方法

[プロジェクト]メニューから (プロジェクト名)のプロパティ (たとえば WindowsApp1のプロパティ)をクリックすると表示できます。

下記の画像だと .NET Framework 4.7.2です。

プロジェクトのプロパティには使用しているフレームワークが表示されている

 

プロジェクト名はデフォルトのWindowsApp1としているので、ソリューションエクスプローラーはこのようになっています。

ここで、一番上の「ソリューション 'WindowsApp1' (1/1プロジェクト)」を右クリックして、[追加] - [新しいプロジェクト] を選択します。

一覧からSetup Project(セットアッププロジェクト)を選択して作成します。

事前の作業でMicrosoft Visual Studio Installer ProjectがインストールされていないとここにはSetup Projectが存在しません。

テンプレートの種類が多くて探すのが大変な場合は、上の検索欄にSetupと入力すると楽です。

Setup Projectを新規作成

プロジェクト名はデフォルトでは Setup1 となっていますが、1をとって Setup にしておきましょう。

 

セットアッププロジェクトを作成するとソリューションエクスプローラーは次のようになります。

入門講座では今まで1ソリューション・1プロジェクトだったのでソリューションの存在意義がよくわからなかったと思いますが、ようやく1ソリューション複数プロジェクトとなり、プロジェクトを束ねる上位の存在としてソリューションの存在意義も実感できるようになります。

なお、Form1.vbをダブルクリックするなどすると再びプログラムを編集できるようになります。

この時点ではVisual Studioには次のように表示されています。

操作方法 操作 - もう一度表示する

もし、この画面を閉じてしまったらもう1度表示するにはソリューションエクスプローラーでSetupプロジェクトを右クリックして[View] - [ファイルシステム]を選択します。

 

この画面は、インストール先のパソコンのファイルの配置を示しています。

つまり、このインストーラーを実行すると友達のパソコンにどのようなファイルが配置されるかです。

「Application Folder」(アプリケーションフォルダー)はインストール時に友達が選択するアプリケーションのインストール先を表しています。既定値は C:\Program Files\会社名\アプリケーション名 です。

 

4−3.ファイルの配置設定

WindowsApp1.exeをインストール先のフォルダーに配置するように設定しましょう。

それには、左側のApplication Folderを右クリックして[Add] - [プロジェクト出力]をクリックします。

プロジェクトに対象のプロジェクト(この例の場合はWindowsApp1)が選択されていることを確認し、プライマリ出力を選択して、OKをクリックします。

これはWindowsApp1から出力される主要なファイルをインストール先に配置するという意味になります。

私のアプリケーションの場合、このようになりました。

プライマリ出力の他、System.Net.Http.dll というものがインストール先に配置されるようです。

これは、私のアプリケーションが使用しているライブラリで、セットアッププロジェクトが自動的にこれがないとアプリケーションが動作しないと判断して配置するように設定してくれたようです。

メモ メモ  -  でも、本当はいらないんです

確かに私のWindowsApp1はSystem.Net.Http.dllを使用する設定になっていますが、実際にはプログラムの中ではこの機能を使っていないので、なくても動作します。セットアッププロジェクトは実際に使っているかどうかまでは判断してくれないようです。

この設定は最初にWindowsフォームアプリケーションのプロジェクトを作成したときにVisual Studioが自動的に行ったものなので、Visual Studio 2019を使っている人は身に覚えがなくても私と同じようにSystem.Net.Http.dllが自動認識されると思います。

他に一緒に配置したいファイルがあれば、[Add] - [ファイル]を使って指定します。

配置先のフォルダーは最初は3つしか表示されていませんが、「File System on Target Mathine」(対象のマシンのファイルシステム)を右クリックして、[Add Special Folder](特別なフォルダーを追加する)からフォルダー自体を増やすこともできます。たとえばFontフォルダーにフォントファイルを配置するように設定できます。

4−4..NET Frameworkのバージョン

ソリューションエクスプローラーに目を転じると、検知された依存関係(Detected Dependencies)にMicrosoft .NET FrameworkとSystem.Net.Http.dllが表示されています。この2つがないとアプリケーションは動作しないぞという意味です。

Microsoft .NET Frameworkのバージョンを設定しましょう。Microsoft .NET Frameworkをダブルクリックしてプロパティウィンドウを見てください。

私のWindowsApp1は.NET Framework 4.8 をターゲットフレームワークにしているのに、なぜかここでは.NET Framework 4.6.1 と判断されていました。これでは動かない可能性があるので手動で修正しましょう。

Version (バージョン)を .NET Framework 4.8 に変更し、InstallUrl (インストーラーURL)に.NET Framework 4.8 のWebインストーラーのURLを設定します。

URLは下記の通りです。

ターゲットフレームワーク URL
.NET Framework 4.5 https://go.microsoft.com/fwlink/p/?LinkId=245484
.NET Framework 4.5.1 https://go.microsoft.com/fwlink/p/?LinkId=310158
.NET Framework 4.5.2 https://go.microsoft.com/fwlink/p/?LinkId=397703
.NET Framework 4.6 https://go.microsoft.com/fwlink/?LinkId=528222
.NET Framework 4.6.1 https://go.microsoft.com/fwlink/?LinkId=671729
.NET Framework 4.6.2 https://go.microsoft.com/fwlink/?LinkId=780597
.NET Framework 4.7 https://go.microsoft.com/fwlink/?LinkId=825299
.NET Framework 4.7.1 https://go.microsoft.com/fwlink/?LinkId=852095
.NET Framework 4.7.2 https://go.microsoft.com/fwlink/?LinkId=863262
.NET Framework 4.8 http://go.microsoft.com/fwlink/?LinkId=2085155

このURLは下記サイトから採取しました。

https://docs.microsoft.com/ja-jp/dotnet/framework/deployment/deployment-guide-for-developers

※.NET Framework 4.6.1のURLも少し違うような・・・。よくはわかりません。

.NET Framework 4.8用に設定すると次のようになります。

 

それから、私もよくわからないのですが、もう1箇所.NET Frameworkのバージョンを設定する場所があるので 4.8 にあわせおきましょう。

ソリューションエクスプローラーでSetupプロジェクトを右クリックして、プロパティをクリックすると下記のようなプロパティページという画面が表示されます。

ここの Prerequisites (前提条件)ボタンをクリックしてください。

必須コンポーネントとして、 Microsoft .NET Framework 4.6.1 にチェックが入っているので、これははずして、あなたのアプリケーションのターゲットフレームワークにチェックをつけてください。

私のWindowsApp1の場合は.NET Framework 4.8 です。

これで、友達のパソコンに対象のバージョンの.NET Framework が入っていない場合インストーラーが半自動的にインストールしてくれるようになります。

4−5.ショートカット

ついでに友達のパソコンのデスクトップとスタートメニューにインストールするアプリケーションのショートカットを配置するようにしましょう。

まず、左側のApplication Folderをクリックして、プライマリ出力XXXX を右クリックし Create Shortcut to プライマリ出力 from WindowsApp1 (Active) をクリックします。

このようにショートカットが作成されます。

この名前のショートカットが友達のパソコンに作成されます。

だから、クリックして F2 を押して名前を変更しておきましょう。私はWindowsApp1としました。

このショートカットマウスで左側のUser's Desktop にドラッグ&ドロップします。

これで友達のデスクトップにこのショートカットが作成されます。

同じようにもう1度ショートカットを作成し、今後はUser's Program Menuにドラッグ&ドロップします。

これで友達のスタートメニューにこのショートカットが作成されます。

 

なお、デフォルトのショートカットのアイコンはかなりださいです。ショートカットをクリックするとプロパティウィンドウのIconプロパティでアイコンを変更できます。

ただ、アイコン全般そうなんですが、アイコンを自分で作るのも結構大変です。どこかから直作権フリーの良いアイコンを持ってくるのも手ですし、一応Visual Studioにも無料のアイコン集がついています。

メモ メモ  -  Visual Studioのアイコン集

ここからダウンロードできます。

https://www.microsoft.com/en-my/download/details.aspx?id=35825

このアイコン集は、Visual StudioとかExcelとかでメニューなどに使われてそうな雰囲気のアイコンが充実しています。なのでどのアイコンも地味です。

 

4−6.設定

最後に各種設定を行います。

ソリューションエクスプローラーでSetupプロジェクトをダブルクリックしてください。

そしてプロパティウィンドウで下記表の通り設定します。

ほとんど設定値は空にすることもできるので設定したくないものは空にしてください。

プロパティ 設定する値 意味
Description アプリケーションの概要の説明を設定します。 ・コントロールパネルのプログラムと機能のコメントに表示されます。
Manufacturer 製造元。会社名やハンドル名など。 ・デフォルトのインストール先フォルダーの名前の一部になります。
・コントロールパネルのプログラムと機能の発行元に表示されます。
ManufacturerUrl このアプリケーションのサポートを行うWebサイトのURL ・コントロールパネルのプログラムと機能でサポートのリンクに表示されます。
ProductName アプリケーションの製品名 ・セットアップ画面に表示されます。
・デフォルトのインストール先フォルダーの名前の一部になります。
・コントロールパネルのプログラムの機能の名前に表示されます。
RemovePreviousVersions True ・修正版を再インストールするときに古いバージョンを削除できるようになります。
SupportUrl このアプリケーションの説明が記載されているWebサイトのURL ・コントロールパネルのプログラムと機能でヘルプのリンクに表示されます。

4−7.インストーラー作成

いよいよインストーラーを作成しましょう。

ソリューションエクスプローラーでSetupプロジェクトを右クリックして、「リビルド」をクリックしてください。

メモ 一言  -  Visual Studio 2015が何かやっている・・・

私の環境でリビルドをはじめると、Microsoft Visual Studio Community 2015のダイアログが表示されます。Visual Studio 2019を使用しているのになぜでしょう。よくわかりません。それにこれに5分くらいかかっているように思います。長いです。

私の環境では5分から10分ほどかかります。

しばらくして、ビルドが終了するとプロジェクトのフォルダー直下のbinフォルダー内のdebugまたはreleaseフォルダー内にsetup.exeとSetup.msiが作成されます。

操作方法 操作 - そのフォルダーはどこ?

ソリューションエクスプローラーでSetupプロジェクトを右クリックして、「エクスプローラーでフォルダーを開く」を選択しするとbinフォルダーのあるフォルダーが開きます。

 

さあ、この2つのファイルを友達に渡してこう言いましょう。

「Setup.msiを実行すれば、俺の作った いかしたアプリがインストールできるぜ」

setup.exeではなく、Setup.msiを実行してもらってくださいね。

 

でも、何かミスっていると良くないので一度は自分で実行してみたほうが良いですね。

友達に渡す前に自分で実行してどうなるか見てみましょう。

 

4−8.インストーラーの実行

Setup.msiを実行したときに対応する.NET Frameworkがインストールされていなければ、まず、.NET Frameworkをインストールするようにメッセージがでます。

「はい」をクリックすると、.NET Frameworkのインストールが始まります。

まずは、自動的にブラウザーが開いて.NET Frameworkのインストーラーをダウンロードします。実行をクリックしてください。

このときのURLがInstallUrl で設定したURLです。

あとは通常の.NET Frameworkのインストールです。

私のテスト用の仮想環境では.NET Framework 4.8のインストールに5分くらいかかりました。

インストールが完了したら、もう1度Setup.msiを実行してください。

今度はあなたのアプリケーションのインストールがはじまります。

ちゃんとProductNameプロパティで設定した名前がこの画面には表示されます。

次へをクリックするとインストール先フォルダーの指定です。

既定ではProgram Filesの下にManufacturerプロパティで指定した名前のフォルダー、さらにその下にProductNameプロパティで指定した名前のフォルダーがインストール先になります。

ここで設定したフォルダーがセットアッププロジェクトのApplication Folderになります。

あとは次へをクリックしていくだけです。

インストールはすぐに完了します。

 

デスクトップには指定したとおりWindowsApp1のショートカットが作成されています。

ただ、デフォルトのアイコンは相当ダサいですね。

 

スタートメニューにもありますね。

インストール先のフォルダーを覗いてみるとこうなっています。

ちゃんとSystem.Net.Http.dllも配置されていますね。

コントロールパネルのプログラムと機能にも載っています。ここからアプリケーションをアンインストールすることもできます。

最後に私からアドバイスです。

セットアッププロジェクトは作成するのも少し面倒ですがテストするほうがもっと面倒です。

 

5.発行でインストーラーを作成する

発行機能でsetup.exeを作成することもできます。

ただ、私はこの発行機能でのsetup.exeの作成を1度もやったことがなかったので、この記事を執筆するにあたり1回くらいは試しておこうと思って、仮想環境のWindows7でsetup.exeを実行してみました。2回エラーが発生して挫折しました。エラーの原因を調べてやり直しに挑戦する道もあるのですが、exeファイルを直接渡しても良いし、セットアッププロジェクトでSetup.msiを作成しても良いので、この発行機能を追及する気力は起きませんでした。

エラー1は.NET Framework のインストール時でした。原因は不明です。

しかたないので、手動で.NET Framework のオフラインインストーラーをダウンロードして実行し、先に.NET Framework だけインストールしてみました。そしてsetup.exeを実行すると.NET Framework のインストール部分は無事突破できたのですが、その後アプリケーション本体をインストールするところで別のエラーが発生してインストールできませんでした。

インストールエラー

ここで挫折しました。

メモ メモ  -  それにこの方法、古くなるみたいです

https://msdn.microsoft.com/ja-jp/magazine/mt833462

 

一応簡単に説明しとくと 「発行」はソリューションエクスプローラーでプロジェクトを右クリックするとあります。

発行

途中、どこからインストールするか聞かれます。

そこでは「CD-ROMまたはDVD-ROMから」を選択するのが良いと思います。

これを選択してもsetup.exeファイルを友達にメールか何かで送信すればCDやDVDなしでインストールできます。

※わかりにくいのでマイクロソフトはこの選択肢の名前は変えたほうが良いと思います。

 

6.で、どうすれば?

 

今回はプログラムしたWindowsフォームアプリケーションを友達のパソコンで動かすための3つの方法を説明しました。

簡単に表にまとめると次のようになります。

発行はエラーでうまいくかないのでまとめは - にしました。

方法 プログラマーにとっての簡単さ 友達にとっての簡単さ その他
binフォルダーにあるexeと必要なものを友達に渡す
フォルダーを開いてファイルを友達に送るだけ
×
.NET Frameworkは自分でインストールする必要がある。
フォルダー単位でアプリを扱える。移動したいときはフォルダーを移動。削除したいときはフォルダーを削除。(このようなアプリケーションの配置を「XCopyライク」な配置といいます。
セットアッププロジェクトでインストーラーを作成する ×
セットアッププロジェクトを作成・テストする必要がある。

Setup.msiを実行するだけで半自動的にできる
他のWindowsのアプリケーションと同じようにデスクトップやスタートメニューにショートカットを作ったり、コントロールパネルからアンインストールしたりできる。
発行でインストーラーを作成する - - 私はエラーになる。

※このほかにWindowsストア用にパッケージするという手もあります。

 

何を重視するかですけど、私はbinフォルダーにあるexeと必要なものを友達に渡すほうをお勧めします。

セットアッププロジェクトでできたらかっこいいのですが、ちゃんと動くセットアップを作成・テストするのは結構大変なんです。

ちゃんと動かなかったときに調査して修正しやすいのは私の場合binフォルダーにあるexeと必要なものを友達に渡すほうです。