システム管理者のための.NET入門
第3回 アプリケーション配布問題を解決する最新テクノロジClickOnce

2.ClickOnceアプリケーションの更新

デジタルアドバンテージ 小川 誉久
2007/01/11

更新されたClickOnceアプリケーションを実行すると

 一度コンピュータにインストールしたClickOnceアプリケーションが更新された場合にはどのような挙動になるのだろうか。次は前出のClickOnceサンプル・アプリケーションを更新して挙動を追ってみよう。具体的には、ウィンドウの背景色を白からオレンジ色に変更し、VS 2005で再度アプリケーションを作成、ClickOnceアプリケーションとして再発行しておく。

1.アプリケーションの起動
 インストールによって、クライアント・コンピュータの[スタート]メニューに追加されたアイコンをクリックし、アプリケーションの実行を開始する。するとインストール時と同様に次のダイアログが表示される。

アプリケーションの起動
サーバにアクセスし、ClickOnceアプリケーションが更新されていないか(更新版ファイルがないかどうか)が検査される。

 ここでアプリケーションの更新が検出されなければ、前回と同じアプリケーションが起動される。

2.更新版が存在することの確認
 アプリケーションの更新版が存在したときには、次のダイアログが表示され、更新版が存在することがユーザーに確認される。

更新版が存在することを確認するダイアログ
アプリケーションが更新されていると、このダイアログが表示される。このダイアログにより、ユーザーは更新版が存在することを認識する。ここで[OK]をクリックすればアプリケーションは更新され、[スキップ]をクリックすれば更新されない。

 ここで[スキップ]をクリックすれば、更新処理は行わずに古いアプリケーションを起動できる。

3.アプリケーションの更新
 前出のダイログで[OK]ボタンをクリックすると、更新されているファイルがチェックされ、必要なファイルのダウンロードとインストールが実行される。

アプリケーションの更新
更新されたファイルがダンロードされインストールされる。

4.アプリケーションの実行
 更新処理が完了したら、新しい更新版のアプリケーションが起動される。

更新されたアプリケーションの起動
更新処理が完了後、アプリケーションが起動される。

 ClickOnceアプリケーションの更新処理の流れは次のようになる。

ClickOnceアプリケーションの更新処理の流れ
インストールしたClickOnceアプリケーションを起動すると、最初に更新版が存在するかどうかがチェックされ、更新版が見つかったときには、更新処理が促される。

 なお、ClickOnceアプリケーションにはロールバック機能があり、コントロール・パネルの[プログラムの追加と削除]でアンインストールを実行すれば、一度更新したアプリケーションを元の状態に戻す(インストールする以前の状態に戻す)ことも可能だ。

.NETの利点を積極活用できる「.NET管理者」を目指そう

 ClickOnceアプリケーションの開発と展開はVS 2005から簡単に実行できる。UABのように、アプリケーション側で特別なコードを作り込む必要はない。開発環境であるVS2005で、作成したアプリケーションをClickOnceで配布することを指定するだけでよい。

 .NET対応アプリケーションの展開では、.NET Frameworkランタイムをインストールしていないクライアントへのランタイム配布が問題になる場合がある。かつてのノータッチ・デプロイメントでは、何らかの手段であらかじめ.NET Frameworkランタイムを配布しておく必要があった。これに対しClickOnceでは、.NET Frameworkランタイムの配布も自動的に行える。

 ClickOnceアプリケーションは、通常のWindowsアプリケーション同様、[スタート]メニューに登録され、以後ユーザーは、通常のアプリケーション同様に、追加されたアイコンを選択するだけでアプリケーションの実行が可能である。アプリケーションの更新などは自動的に検査され、必要なら更新版のファイルが実行前に自動的にダウンロードされる。

 つまりClickOnceを利用すれば、Windowsアプリケーションをクライアント用に活用しながら、これまで頭痛のタネだった更新管理を中央で一元化できる。本格的な普及はこれからだが、ClickOnceは、C/S型システムやスマート・クライアント型システムのTCO常識を大きく変える原動力になるだろう。

 以上、3回にわたり、システム管理者の視点から、.NETの必要性と価値について考えてみた。GAC(Global Assembly Cache)を利用したSide-by-Sideインストール機能によるDLL地獄の解消や(第1回で説明)、ClickOnceによるクライアント配布におけるTCO削減などは、管理者にとって非常に具体的で分かりやすいメリットである。しかしビジネス・アプリケーション開発の短サイクル化と変化への対応などは、抽象的で、具体的にどのような恩恵に浴せるのか分かりにくかったかもしれない。

 本稿を書き終えてみて改めて思うのは、「システム管理者向けに.NETの価値を分かりやすく語るのは難しい」ということだ。第1回でも簡単に触れたとおり、米国を含め、管理者を対象としたそのようなドキュメントは極めて少ない。この理由は、それらが必要とされていないからでも、書き手がさぼっているからでもなく、書くことが困難だからだろうと考える。

 システム・インテグレータに聞けば、最近は.NETベースのソリューションが急速に増えているという。すでに始まったWindows Vistaの発売と、2007年内に発表が予定されているWindows “Longhorn” Serverの登場は、こうした流れをいっそう推し進めるだろう。システム管理者にとっても、もはや.NETは避けて通れないテーマであることは間違いない。

 本「.NET管理者虎の巻」コーナーでは、今後もシステム管理者を対象として、鋭意.NETの技術情報を提供していく予定だ。どうせ避けて通れないのなら、.NETへの理解を深めて、.NETの長所を積極的に生かしたシステム構築を進めよう。.NETの活用を、システム管理者の立場から主張できる「.NET管理者」を目指そうではないか。End of Article

 

 INDEX
  システム管理者のための.NET入門
  第3回 アプリケーション配布問題を解決する最新テクノロジClickOnce
    1.ClickOnceアプリケーションの初期インストール
  2.ClickOnceアプリケーションの更新
 
目次ページへ  「システム管理者のための.NET入門」
Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

スキルアップ/キャリアアップ

.NET管理者虎の巻

- PR -
- PR -