![]() |
連載
|
|
|
|
Back Issue
|
||||||
|
前回はClickOnceの基本的な開発方法について説明した。今回はClickOnceの基本機能を拡張して、ClickOnceアプリケーション(以降、ClickOnceアプリ)の動作をカスタマイズする方法について解説する(※本稿ではすべてC#で記述しているが、もちろん同様のコードはVisual Basicでも記述可能である)。
具体的には、ClickOnceアプリが必要とするコンポーネントを必要に応じて必要な分だけダウンロードして利用する方法と、ClickOnceアプリのアップデートをそのClickOnceアプリ自体で制御する方法だ。
独自に実装したClickOnce配布/更新のサンプル・アプリケーション
まずは本稿で開発するサンプル・アプリケーションの実行方法について説明しておく。サンプル・アプリケーション全体は、次のリンクからダウンロードできる。
このサンプル・アプリケーションを自分の環境で動作させるには、次の手順を実行してほしい。なお前提条件として、IISがローカル・コンピュータにインストールされ、すでに実行中の状態でなければならいので注意すること。これは、本サンプル・アプリケーションをIISに配置し、そこからダウンロードしてClickOnceで実行させるためだ。
また、Visual C# 2005 Express EditionもしくはVisual Studio 2005の開発環境がローカル・コンピュータにインストールされている必要がある。
-
ダウンロードした「SampleApplication.zip」を任意の場所(例えば「C:\」など)に解凍する(※ClickOnce実行時のダウンロード状況を分かりやすくするために100Mbytesという巨大なサイズのファイルが2つ含まれている。このため、解凍に少し時間がかかるので注意すること)。
-
「SampleApplication」という名前のフォルダが解凍されるので、その中にある「SampleApplication.sln」をダブルクリックしてソリューションをVisual C# 2005 Express EditionまたはVisual Studio 2005で開く。
-
ソリューションが開かれたら、IDEのメニュー・バーから[ビルド]−[ソリューションのリビルド]を選択する。これにより、ソリューション全体がビルドされる。
-
ビルドが完了したら、メニュー・バーから[ビルド]−[SampleApplication の発行]を選択する。これにより[発行ウィザード]が表示されるので、その[完了]ボタンをクリックする。これで本稿のClickOnceアプリがlocalhost上のIISに発行されるはずだ。
-
発行が完了すると、「ClickOnceサンプル・アプリケーション」というインストール用Webページが表示されるので、[インストール]というボタン(リンク)をクリックすればサンプル・アプリケーションがインストールされ、起動する。
次の画面は、そのサンプル・アプリケーションを実際に起動した例だ。
![]() |
| サンプル・アプリケーションの実行画面 |
| 本アプリケーションのフォーム上には、[オンデマンド配置]と[アップデート]というボタンが置かれている。これらのボタンをクリックすると、本稿で実装するClickOnceの機能が動作する。 |
[オンデマンド配置]ボタンをクリックすると、オンデマンドで(つまりユーザーから要求されたタイミングで)Webサーバから一部のコンポーネント(.DLLファイル群)をダウンロードして、そのコンポーネントの機能を使用する(具体的には.DLLファイル内に含まれるダイアログを表示する)。
一方の[アップデート]ボタンをクリックすると、アプリケーション自体の最新バージョンに関する情報をWebサーバ(IIS)にチェックしに行き、そこで新しいバージョンがあればそれをダウンロードして、アプリケーションが自分自身をその場でアップデートする(アップデートを適用するにはアプリケーションの再起動が必要になる)。
ちなみにサンプル・アプリケーションのソリューション/プロジェクトの内容は、次の画面のとおりだ。
![]() |
|||||||||
| サンプル・アプリケーションのソリューション/プロジェクトの内容 | |||||||||
| 本稿では「SampleApplication」というソリューションを作成し、その中に以下の3つのプロジェクトを追加している。 | |||||||||
|
それでは、これらのClickOnce機能の実装方法を解説していこう。
必要になってからダウンロードするオンデマンド配置(ダウンロード・グループ機能)
ClickOnceでアプリケーションを配布する際、アプリケーションを構成するすべてのアセンブリ(.DLLファイル)を一度にダウンロードさせると、初回時のインストールおよび起動に非常に時間がかかってしまう場合がある。
この問題を回避するには、最初の実行時には必要最小限のファイルしかダウンロードせず、ある機能を実行する必要が発生した段階で、初めてその機能が実装されているアセンブリ(.DLLファイル)をダウンロードするという手段が考えられる(これを本稿では「オンデマンド配置」と呼ぶ)。
ClickOnceは標準でこのオンデマンド配置に対応している。これは前回「アプリケーション・ファイルとダウンロード・グループ」という項目で解説した機能のことで、要するに「インストールするファイルをあらかじめグループ分けしておき、そのグループ単位でダウンロード、インストールする」という機能だ。
●ダウンロード・グループの作成
従って、まずはダウンロード・グループを作成しておく必要がある。本稿では、次の画面の手順によって「SampleClassLibraryGroup」というダウンロード・グループを作成した(この画面はVisual C# 2005 Express Editionの例である)。
ダウンロード・グループが作成できたら、次はそれをオンデマンドでダウンロードするコードを記述すればよい。
| INDEX | ||
| ClickOnceの真実 | ||
| 第4回 ClickOnceテクノロジを最大限に生かす開発 | ||
| 1.オンデマンド配置のためのダウンロード・グループの作成 | ||
| 2.オンデマンド配置するコードと進ちょくダイアログの表示 | ||
| 3.ダウンロードしたアセンブリのロードとそこに含まれる機能の実行 | ||
| 4.任意のタイミングで実行するアップデート(手動による更新処理) | ||
| 「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 -






