第1回 ClickOnceの基本動作を見てみよう連載 ClickOnceの真実(2/2 ページ)

» 2006年01月18日 00時00分 公開
[一色政彦デジタルアドバンテージ]
前のページへ 1|2       

アプリケーションのアップデート機能

 ClickOnceを使わずに.MSIファイルでアプリケーションをユーザーに配布した場合、その後のバージョン・アップ作業や、ちょっとしたバグ修正によるソフトウェア更新作業が大変なものとなることは想像に難くない。

 なるほど(前掲のコラムにも書いたように)これが10人程度なら各ユーザーに一声かけて更新作業をお願いすれば済むのかもしれないが、それが100人、1000人、1万人になったらどうだろう? ユーザー数が増えれば増えるほど、クライアント・ソフトウェアの更新作業を管理することは非常に大変になるはずだ。そうなれば、何らかの展開テクノロジを用いてソフトウェアの更新を集中管理しないと、システム管理者はソフトウェアの更新作業以外の仕事に手が回らなくなってしまう。

 確かにソフトフェアの更新管理を簡素化するソリューションはすでにいくつか存在するが(例えばSystem Management Serverを使ったアプリケーション展開など)、ClickOnceならば.NET Framework 2.0が標準で提供する機能なので手軽に導入できるし、アプリケーション自らがバージョン・アップを検知してユーザーにソフトウェアのアップデートを提案してくれるので、システム管理者の作業は非常に少なくなり、かなり楽になる。

 そこで次に、ClickOnceなら実際にどのようになるのかを示そう。まずは次の画面で行っているようにアプリケーションを変更し、Webサーバ側に配置するClickOnceアプリのバージョン・アップを行ったとしよう。

ClickOnceアプリのバージョン・アップ
Windowsフォームの背景色をオレンジ色に変更し、WebサーバにそのClickOnceアプリを配置する。この際の配置方法については次回以降で説明する。

 Webサーバにはバージョン・アップしたClickOnceアプリが配置されたものとし、前述した[スタート]メニューに登録されたClickOnceアプリへのショートカット・メニュー項目をクリックして、インストール済みのアプリケーションを起動してみよう。

 これにより(通常は)アプリケーションが起動される前に、次の画面のような[アプリケーションの起動中]ダイアログが表示される。

ClickOnceアプリ起動時のソフトウェアの更新チェック
ユーザー・ローカル環境の[スタート]メニューに登録されたClickOnceアプリへのショートカット・メニュー項目をクリックすると、このような[アプリケーションの起動中]ダイアログが表示される。このダイアログは起動時に常に表示されるわけではなく、ClickOnceアプリの配置オプションの設定によっては表示されない。詳しくは次回以降で解説する。

 このダイアログが表示されている間に、Webサーバにアクセスしてアプリケーションの更新がチェックされる。そこでバージョンが更新(主にバージョン・アップ)されていれば、ユーザーにアプリケーション更新の許可を求める次のようなダイアログが表示される。

[利用可能な更新があります]ダイアログ
このダイアログで、ユーザー・ローカル環境にインストール済みのアプリケーションを更新してもよいかどうかの許可が求められる。[OK]ボタンをクリックすれば更新されたアプリケーションが起動し、[スキップ]ボタンをクリックすればアプリケーションは更新されずに、インストール済みのバージョンが起動する。なおClickOnceアプリの更新は主にバージョン・アップに使われるが、何らかの不具合により一時的にバージョン・ダウン(=バージョンを戻すこと)するような場合にも利用することができる。

 ここで[OK]ボタンをワン・クリックするだけでアプリケーション全体がアップデートされる。

 ちなみにここでは[スタート]メニューから起動する例を示したが、ClickOnceアプリ・インストール用Webページの[インストール]ボタンをクリックしてアプリケーションを起動した場合には、この[利用可能な更新があります]ダイアログは省略されてアプリケーションが即座に自動アップデートされる。

 次の画面は[利用可能な更新があります]ダイアログで[OK]ボタンをクリックしてアプリケーションがアップデートされているところと、アップデートされたアプリケーションが起動したところである。

アプリケーションのアップデートと起動
上の[<アプリケーション名> をインストールしています。]ダイアログ(この例では[SampleApplication をインストールしています。]ダイアログ)は、アプリケーションのアップデート状況を示すためのものだ。アップデート作業が完了すると、下の画面のように更新されたアプリケーションが起動する。

 以上のようにClickOnceを活用すれば、非常に容易にアプリケーションのインストール(デプロイメント)とアップデートが実現できることがご理解いただけただろう。

 それでは、もしこのようにClickOnceのアップデート機能によりインストールした新しいバージョンのアプリケーションに何らかの不具合があり、それが原因で業務・作業が先に進めなくなってしまった場合はどうなるだろうか? ユーザーは不具合が修正された次のバージョンがWebサーバ上に準備されるのをじっと待つ以外にはどうしようもないのだろうか? これではアプリケーションの安定性・確実性や安全性が十分に確認されるまで、ユーザーは怖くて[利用可能な更新があります]ダイアログの[OK]ボタンが押せないということも起こるだろう。

 だがClickOnceではこのような想定し得ない緊急の事態に備えて、アプリケーションのロールバック機能(=昔のバージョンに戻すこと)が標準で搭載されているので、いつでも安心してアプリケーションのアップデートを行うことができるのだ。次にこのロールバック機能について紹介しよう。

アプリケーションのロールバック機能

 ClickOnceが提供するアプリケーションのロールバック機能も、使い方は至って簡単だ。具体的には、コントロール パネルを開き、そこから(Windows XPの場合なら)[プログラムの追加と削除]を実行する。表示された[プログラムの追加と削除]ダイアログで[プログラムの変更と削除]の一覧の中から、ロールバックしたいClickOnceアプリの[変更と削除]ボタンをクリックすればよい。

[プログラムの追加と削除]ダイアログでのClickOnceアプリのロールバック作業
左のボタン・リストから[プログラムの変更と削除]ボタンをクリックして選択し、右の[現在インストールされているプログラム]一覧から、ロールバックしたいClickOnceアプリを見つけ出し、その[変更と削除]ボタンをクリックする。

 これにより、次の画面のようなロールバックもしくは削除(=アンインストール)を指定するためのダイアログが表示される。ここで[アプリケーションを以前の状態に復元します。]を選択して[OK]ボタンをクリックする。

既存のClickOnceアプリの保守(ロールバック)
[プログラムの追加と削除]ダイアログで、ロールバックしたいClickOnceアプリの[変更と削除]ボタンをクリックすると、上の画面のような[<アプリケーション名> の保守]ダイアログ(本稿の例では[SampleApplication の保守]ダイアログ)が表示される。ここで[アプリケーションを以前の状態に復元します。]を選択して[OK]ボタンをクリックすると実際にアプリケーションのロールバックが開始される。ロールバック作業が完了すると、下の画面のような[アプリケーションは復元されました]というメッセージが通知される。なお[<アプリケーション名> の保守]ダイアログで[このコンピュータからアプリケーションを削除します。]にチェックを入れて[OK]ボタンをクリックした場合は、ユーザーのローカル環境からClickOnceアプリがアンインストールされることになる。

 以上でClickOnceアプリのロールバックは完了だ。再度[スタート]メニューよりアプリケーションを起動してみると、確かにアプリケーションが前のバージョンに戻っていることが確認できるはずだ。

以前のバージョンにロールバックされたClickOnceアプリケーション
本稿の例では、アプリケーションがWindowsフォームの背景色をオレンジ色に変更する前のものに戻った。

 このようにClickOnceならば、各ユーザーが手動で昔のバージョンに戻して一時的に使用するようなこともできるので、運用の幅・自由度が広くなる。

 以上がClickOnceアプリの典型的な利用例だ。


 今回はClickOnceの基本動作をユーザーの視点でお伝えしたが、その基本的な特徴や便利さはご理解いただけただろうか。さて次回は、システム管理者やプログラマの視点で、ClickOnceの仕組みや配置方法、使い方・実装方法などを解説する予定だ。お楽しみに。

「連載 ClickOnceの真実」のインデックス

連載 ClickOnceの真実

前のページへ 1|2       

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。