ClickOnceの配布を制御してパフォーマンスを向上させるには? アップデートをプログラムから実行するには? ClickOnceのカスタマイズを解説。
1 | ClickOnceの基本動作を見てみよう | |
2 | ClickOnceの仕組みを理解しよう | |
3 | Visual Studio 2005でClickOnceを極めよう | |
前回はClickOnceの基本的な開発方法について説明した。今回はClickOnceの基本機能を拡張して、ClickOnceアプリケーション(以降、ClickOnceアプリ)の動作をカスタマイズする方法について解説する(※本稿ではすべてC#で記述しているが、もちろん同様のコードはVisual Basicでも記述可能である)。
具体的には、ClickOnceアプリが必要とするコンポーネントを必要に応じて必要な分だけダウンロードして利用する方法と、ClickOnceアプリのアップデートをそのClickOnceアプリ自体で制御する方法だ。
まずは本稿で開発するサンプル・アプリケーションの実行方法について説明しておく。サンプル・アプリケーション全体は、次のリンクからダウンロードできる。
このサンプル・アプリケーションを自分の環境で動作させるには、次の手順を実行してほしい。なお前提条件として、IISがローカル・コンピュータにインストールされ、すでに実行中の状態でなければならいので注意すること。これは、本サンプル・アプリケーションをIISに配置し、そこからダウンロードしてClickOnceで実行させるためだ。
また、Visual C# 2005 Express EditionもしくはVisual Studio 2005の開発環境がローカル・コンピュータにインストールされている必要がある。
次の画面は、そのサンプル・アプリケーションを実際に起動した例だ。
[オンデマンド配置]ボタンをクリックすると、オンデマンドで(つまりユーザーから要求されたタイミングで)Webサーバから一部のコンポーネント(.DLLファイル群)をダウンロードして、そのコンポーネントの機能を使用する(具体的には.DLLファイル内に含まれるダイアログを表示する)。
一方の[アップデート]ボタンをクリックすると、アプリケーション自体の最新バージョンに関する情報をWebサーバ(IIS)にチェックしに行き、そこで新しいバージョンがあればそれをダウンロードして、アプリケーションが自分自身をその場でアップデートする(アップデートを適用するにはアプリケーションの再起動が必要になる)。
ちなみにサンプル・アプリケーションのソリューション/プロジェクトの内容は、次の画面のとおりだ。
それでは、これらのClickOnce機能の実装方法を解説していこう。
ClickOnceでアプリケーションを配布する際、アプリケーションを構成するすべてのアセンブリ(.DLLファイル)を一度にダウンロードさせると、初回時のインストールおよび起動に非常に時間がかかってしまう場合がある。
この問題を回避するには、最初の実行時には必要最小限のファイルしかダウンロードせず、ある機能を実行する必要が発生した段階で、初めてその機能が実装されているアセンブリ(.DLLファイル)をダウンロードするという手段が考えられる(これを本稿では「オンデマンド配置」と呼ぶ)。
ClickOnceは標準でこのオンデマンド配置に対応している。これは前回「アプリケーション・ファイルとダウンロード・グループ」という項目で解説した機能のことで、要するに「インストールするファイルをあらかじめグループ分けしておき、そのグループ単位でダウンロード、インストールする」という機能だ。
●ダウンロード・グループの作成
従って、まずはダウンロード・グループを作成しておく必要がある。本稿では、次の画面の手順によって「SampleClassLibraryGroup」というダウンロード・グループを作成した(この画面はVisual C# 2005 Express Editionの例である)。
(3)[アプリケーション ファイル]ボタンをクリック
ダウンロード・グループが作成できたら、次はそれをオンデマンドでダウンロードするコードを記述すればよい。
Copyright© Digital Advantage Corp. All Rights Reserved.
鬩搾スア闕ウ讓抵スイ�ス 鬮ォ�ェ陋滂ソス�ス�コ闕オ譁溷クキ�ケ譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー