連載
|
![]() |
|
|
|
●「パッケージ・プロジェクト」の作成
ここからは、先ほどインストールしたBootstrapper Manifest Generatorを使っていくので起動してほしい。
初めは、製品マニフェストとパッケージ・マニフェストを生成するためのプロジェクト(以降、パッケージ・プロジェクト)を新規に作成する。ここでは「SampleBootstrapper」というプロジェクトを作成してみよう。具体的な作成手順は、次の画面を参照してほしい。
以上の画面の手順によりパッケージ・プロジェクトの作成が終わったら、取りあえず任意の場所にそれを保存しておこう。保存はツールバー上にある[Save]ボタン(
)をクリックすればよい(もしくはメニュー・バーから[File]−[Save])。本稿では「C:\SampleBootstrapper\SampleBootstrapper.VSBootstrapperManifest」に保存した。
●パッケージ・プロジェクトへの「インストール・ファイル」の追加
次に、パッケージ・プロジェクト内にインストール・ファイルを作成する。インストール・ファイルとは、前述の3の再配布可能コンポーネントに該当するファイルのことだ。本稿では、先ほど作成した「Setup1.msi」をインストール・ファイルとして追加する。
具体的な追加手順は、次の画面のとおりだ。
![]() |
||||||||||||||||||||||||
| パッケージ・プロジェクトへのインストール・ファイルの追加手順 | ||||||||||||||||||||||||
| 必須コンポーネントとしてユーザー環境にインストールしたいファイルを追加する。 | ||||||||||||||||||||||||
|
以上により、インストール・ファイルが登録できた。次に、このインストール・ファイルが実際に実行される際の条件を定義していこう。
●GACコンポーネントをチェックする「プロパティ」の定義
本稿の例では、アセンブリをユーザー環境のGACに登録するが、そのアセンブリがすでにGACにインストール済みかどうかを調べる必要がある。これを行うのが、[System Checks]ページだ。
次の画面は、GACにアセンブリがインストールされているかどうかをチェックするためのプロパティを定義しているところだ。
![]() |
||||||||||||
| GACコンポーネントをチェックするプロパティの定義 | ||||||||||||
| GACにインストール済みかどうかを調べるには、[System Checks]でプロパティを定義する。 | ||||||||||||
|
||||||||||||
|
この画面の例では「CLASSLIBRARY1_VER」というプロパティを定義しているが、このプロパティからインストール済みのアセンブリ(ClassLibrary1.dllファイル)のバージョンが取得できる。このプロパティに実際にアクセスして、インストールを行う/行わないの判定を行うのが、次に説明する[Install Conditions]ページである。
●インストール済みかどうかを判定するための「インストール条件」の定義
先ほど作成したCLASSLIBRARY1_VERプロパティをチェックして、インストール済みか(=コンポーネントをインストールしないか)、まだインストールされていないか(=コンポーネントをインストールするか)というインストール条件を定義する。
具体的には、次の画面のようにしてプロパティの値を比較することで条件判定を行う。
![]() |
||||||||||||||||||
| インストール済みかどうかを判定するための「インストール条件」の定義 | ||||||||||||||||||
| CLASSLIBRARY1_VERプロパティをチェックして、インストール済みか(=コンポーネントをインストールしないか)、まだインストールされていないか(=コンポーネントをインストールするか)を[Install Conditions]ページで定義する。 | ||||||||||||||||||
|
上記の[Type]欄で指定できる値の意味は、次のとおりだ。
- ByPassIf:条件を満たしていると判定し、インストール作業をバイパスする(=省略する)
- FailIf:条件の範囲外だと判定し、インストール作業を中断する
つまり上の画面の設定では、CLASSLIBRARY1_VERプロパティの値が「1.0.0.0」以上なら、インストール済みと見なしてインストールを省略するようにしたわけである。
取りあえずここで再度すべてを保存しておこう。
| INDEX | ||
| ClickOnceの真実 | ||
| 第5回 実行環境を確実に整える必須コンポーネントの開発 | ||
| 1.必須コンポーネントの構成要素とその開発ツール | ||
| 2.独自の必須コンポーネントの作成(1) | ||
| 3.独自の必須コンポーネントの作成(2) | ||
| 「ClickOnceの真実」 |
TechTargetジャパン
- Kinectが切り開く“夢の近未来” (2012/2/2)
日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか? - 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する - SQL Azure Data Sync入門 (2012/1/30)
SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説 - Windows Phoneアプリ市場の現状を分析する (2012/1/27)
Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする
|
|
キャリアアップ
は.NET開発者中心に生まれ変わりました
スポンサーからのお知らせ
.NET開発者中心コーナー
- - PR -
イベントカレンダー
- - PR -






