宇宙仮面の C# プログラミング
   

Top

C# 2005

C# 2003

C# Windows Mobile

SQL Server 2005

SQL Server 2000

Virtual PC/Server

C# 研究室ブログ

C# ソフトウェア ダウンロード

C# 開発環境

宇宙仮面の C# プログラミングについて

.NET/C# eGroup JP

INETA Japan



Google
Web
uchukamen.com









インストーラの作成(ディプロイメント)

 

1.目次

2.目的

Windows.Forms のインストーラの作成についてまとめます。

.Net ベースのインストーラを作ったことが無かったので、実際に作ってみて、アイコンの設定や、流れを確認するのが目的です。
このため、以下の例での実行ファイルは1つの exe ファイルしかない、非常にシンプルなものにしてあります。
このような1つの exe ファイルにあえてインストーラをつける必要はありません。

3.参考書

(1) VisualStudio.NET のヘルプ:  チュートリアル : Windows アプリケーションの配置
(2) MSDN

4.インストールプロジェクトの追加

まず、Windows.Forms アプリケーション Deployment (名前は任意) を作ります。
このとき、エクスプローラはデフォルトで次のようになっていると思います。



ここで、アイコンファイルは アプリケーションのアイコンの設定のように、16x16, 32x32, 48x48 のアイコンを設定します。

次にソリューションエクスプローラより、ソリューション 'Deployment' を選択し、右クリックします。
コンテキストメニューより、追加→新しいプロジェクトの追加を選択します。
すると、次のような「新しいプロジェクトの追加」 ダイアログが表示されます。
ここで、左ペインより、セットアップ/デプロイメント プロジェクト、右ペインより 『セットアップ ウィザード』を選択します。



すると、次のようにセットアップ ウィザードがスタートします。


次に、Windows アプリケーションのセットアップを作成するを選択します。(下図)


次に、含めるプロジェクト出力グループ(W)で、プライマリ出力を選択します。(下図)
これにより、exe, dll がインストールされるようになります。


次に、含めるファイルの選択で、必要に応じて含めるファイルを選択します。(下図)
ここでは、何も含めていません。


最後にプロジェクトの作成で、内容を確認をし、完了ボタンを押します。
これにより、次のように DeploymentSetup が作成されます。



次に、作成されたセットアッププロジェクトのプロパティウィンドウを表示します。(下図)
このうち、Author, Manufacturer, ManufacturerUrl, Title, Version などを設定します。



インストールパスは、C:\Program Files\Manufacturer\ProductName\になります。
このため、Manufacturer、ProductName を正しく設定しないと、期待しないところにインストールされてしまいます。

プロパティ説明
AddRemoveProgramsIconプログラムの追加と削除ダイアログに表示するアイコン
Authorアプリケーションまたはコンポーネントの作成者の名前
Descriptionインストーラの説明
DetectNewerInstalledVersionインストール時にアプリケーションの新しいバージョンをチェックするかどうか
FriendlyNameCab プロジェクトの .CAB ファイルのパブリック名
Keywordsインストーラの検索に使用するキーワード
Localizationロケールとランタイム ユーザー インターフェイスを指定
Manufacturerアプリケーションまたはコンポーネントのメーカー名
ManufacturerUrlアプリケーションまたはコンポーネントのメーカーのURL
ModuleSignatureモジュールに一意の識別子
PackageCodeパッケージに一意の識別子
ProductNameアプリケーションまたはコンポーネントのパブリック名
RemovePreviousVersionsインストール時に以前のバージョンのアプリケーションを削除するかどうか
RestartWWWServiceインストール中にインターネット インフォメーション サービスを停止して再起動するかどうかを指定
SearchPath開発用コンピュータ上のアセンブリ、ファイルを検索するためのパス
Subjectアプリケーションまたはコンポーネントの追加情報
SupportPhoneサポート電話番号
SupportUrlサポートURL
Titleインストーラのタイトル
UpgradeCodeアプリケーションの複数のバージョンを表す共有識別子を指定します。
Versionインストーラ、マージ モジュール、または CAB ファイルのバージョン番号
WebDependenciesCab プロジェクトの依存関係

5.スタートメニューへのショートカットの作成

これだけでは、アプリケーションフォルダー C:\Program Files\UchukamenSoftware\Deployment に、
プライマリー出力の Deployment.exe だけがコピーされるだけで、スタートメニューに何も現れません。
そこで、Deploymentのプライマリー出力のショートカットをつくり、ユーザのプログラムメニューへショートカットを移動します。
ショートカットは、Deploymentのプライマリー出力を選択して、コンテキストメニュー→ショートカットの作成で作ります。
そのショートカットを、プログラムメニューへ移動すればOKです。

ポイント: ショートカットにアイコンを設定する。
このショートカットにアイコンを設定する必要があります。(無くてもOKだけど、カッコが悪い)
そこで、アプリケーションフォルダーに、App.ico を配置して、ショートカットのアイコンは App.ico を参照するようにします。
アプリケーションフォルダーに、App.ico を追加するには、アプリケーションフォルダーのコンテキストメニューから
追加→ファイルで、App.ico を指定すれば追加できます。
先ほど作った Deployment のショートカットのプロパティの Icon プロパティで、アプリケーションフォルダーの
App.ico を指定すればOKです。(下図)

ポイント: ショートカットに WorkingFolder をセットする。
WorkingFolder を正しくセットしておかないと、実行時の作業フォルダーが正しくセットされません。
カレントディレクトリからの相対パスを指定しているようなアプリケーションでは、この WorkingFolder を正しくセットしましょう。



これで、次のようにスタートメニューに、Deployment アイコンが表示されるようになります。





ポイント: プログラムの追加と削除にアイコンを表示する。
AddRemoveProgramIcon にアイコンをセットすると、次の図のようにプログラムの追加と削除にアイコン(16x16)を
表示することができます。



また、このプログラムの追加と削除ダイアログで、『サポート情報を参照するには、ここをクリックしてください。』を
押すと、次のようにサポート情報ダイアログが表示されます。これらの情報を正しくセットするには、
セットアッププロジェクトのプロパティを正しくセットしておく必要があります。


さて、これで準備完了です。
ソリューションエクスプローラから、DeploySetup を右クリックして、ビルドしてみましょう。

6.インストールのテスト

ソリューションエクスプローラから、DeploySetup を右クリックして、インストールメニューを選択してください。
Visual Studio からインストールのテストができるので、らくちんですね。

実際には、次のようにインストールが進みます。
Step 1


Step 2


Step 3


Step 4


Step 5


このように動作すればOKです。

7.リリース版の作成

ここまでは、デフォルトで進んできたとすると、Debug 版になっているはずです。
実際の製品では、リリース版にする必要があります。
下図のように、Debug から、Release に変えて、再ビルドすれば、完了です。

注意: アセンブリー情報を正しくセットしておきましょう。
プロジェクトで、AssemblyInfo.cs というファイルがありますが、その中でバージョン情報などをアセンブリーに
埋め込むことができます。正しい情報をセットしておきましょう。

ここでは共有アセンブリーを使用せず、フォルダー内で完結する方法をとりますので、Strong Name でサインする必要は
ありません。共有アセンブリーを使用する場合には、Strong Name をセットする必要があります。
この方法については、MSのヘルプを参照してください。




これで、DeploymentSetup\Release の下に、DeploymentSetup.msi というファイルができます。(下図)


この DeploymentSetup.msi ファイル1つだけを配布すれば、OKです。
このページを評価する

このページを評価する

悪い             良い
1 2 3 4 5
コメント(一言お願いします)