連載
ClickOnceの真実

第5回 実行環境を確実に整える必須コンポーネントの開発

デジタルアドバンテージ 一色 政彦
2006/09/09
Page1 Page2 Page3

●セットアップの実行結果を判定する「Exitコード」の定義

 最後に[Exit Codes]ページの内容を設定する。これはセットアップの実行結果であるExitコードに基づいてメッセージの表示などを行うためのものだ。しかし本稿のように.MSIセットアップを使用している場合は何も変更する必要はない。

セットアップの実行結果を判定する「Exitコード」の定義
[Exit Codes]ページでは、セットアップの実行結果をExitコードとして取得し、そのコードに基づいてメッセージの表示や、セットアップの成功/失敗、また再起動の有無を決定する。しかし、.MSIセットアップ・ファイルのExitコードはデフォルトのExitコードなので、[Use Default System Exit Codes]にチェックが入っていればそれでよい。なお[Message]欄の入力内容は、このツール上では変えられない(ここを変更すると属性名までもが書き換わるというバグがあるため)。

 以上、すべて完了したらプロジェクトを再び保存し、(MDI子ウィンドウの)ツールバー上の[Build]ボタンをクリックしよう。これにより、プロジェクトがビルドされるはずだ。

パッケージ・プロジェクトのビルド
すべて完了したらプロジェクトをすべて確実に保存してビルドを行う。
  ツールバー上の[Build]ボタンをクリックする。
  ビルドの状況がこのように通知される。
  ビルドされた成果物が出力されるパスが表示される。このパスは、実行環境ごとに異なる可能性がある。Visual Studio 2005をインストールしてそこに.NET Framework 2.0 SDKがインストールされている環境であれば、その必須コンポーネント(Bootstrapper)が置かれているフォルダの中にある「Packages」フォルダに配置されるはずだ。なお、このリンク部分をクリックすると出力フォルダがエクスプローラで開かれる。

 以上、本稿では、GACへアセンブリをインストールする必須コンポーネントの作成例を示したが、これは必須コンポーネントの作成方法の1例に過ぎない。例えば、インストール要件のチェックにしても、レジストリ・チェック、ファイル・チェックなど、ほかにもたくさんある。また、ユーザー環境のOSバージョンごとに処理を条件分岐するなどの必要があるかもしれないが、そういった設定はこのツールで簡単に実現できる。これらの実装方法については、Bootstrapper Manifest Generatorのツールバーから起動できるヘルプを参照するとよい。

 最後にここまでに作成した必須コンポーネントをClickOnceで実際に活用している画面を示して本稿を終わりとしよう。

独自に作成した必須コンポーネントのVisual Studio 2005での利用例
この画面を表示する方法は、「第3回 Visual Studio 2005でClickOnceを極めよう ― 必須コンポーネント(ブートストラッパ)のオプション設定」を参照されたい。

 次の画面は、上記の画面の手順で組み込んだClickOnceアプリをインストールしたときに表示される必須コンポーネントのインストール画面だ。

独自に作成した必須コンポーネントのインストールの実行例
ClickOnceで必須コンポーネントがインストールされるときには、このようなダイアログが表示される。

 ちなみに必須コンポーネントは、ClickOnceのブートストラッパとしてだけでなく、.MSIセットアップのブートストラッパとしても利用することができる。その方法は本稿では割愛する。詳しくは「.NET TIPS:.MSIセットアップで必須コンポーネントを利用するには?」を参照してほしい。

 今回は、インストール要件となる必須コンポーネントを独自に実装する方法を説明した。前回から今回にかけてClickOnceの拡張開発について紹介してきたわけだが、これはClickOnce開発で必要となる項目のほんの一部である。これ以外にも、ClickOnceを活用するうえで、例えばClickOnceに関する各種情報(データ・ディレクトリのパスや、起動元のURLなど)を取得したい、もしくはコマンドライン・パラメータを取得したいなどのニーズも少なくないだろう。これらの情報は.NET TIPSという形で今後提供していきたいと考えている。

 最終回となる次回では、実際のClickOnceアプリの運用ポイントを示し、ClickOnceアプリの特長ともいえるセキュリティ関連の機能について解説する。そして最後にWindows Vista以降のClickOnceのロードマップについて簡単に触れる予定だ。お楽しみに。End of Article


 INDEX
  ClickOnceの真実
  第5回 実行環境を確実に整える必須コンポーネントの開発
    1.必須コンポーネントの構成要素とその開発ツール
    2.独自の必須コンポーネントの作成(1)
  3.独自の必須コンポーネントの作成(2)
 
インデックス・ページヘ  「ClickOnceの真実」

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • 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 のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

.NET開発者中心に生まれ変わりました

.NET開発者中心コーナー

- PR -

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH