連載
|
![]() |
|
|
|
アプリケーションのアップデート機能
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アプリケーション |
| 本稿の例では、アプリケーションがWindowsフォームの背景色をオレンジ色に変更する前のものに戻った。 |
このようにClickOnceならば、各ユーザーが手動で昔のバージョンに戻して一時的に使用するようなこともできるので、運用の幅・自由度が広くなる。
以上がClickOnceアプリの典型的な利用例だ。
■
今回はClickOnceの基本動作をユーザーの視点でお伝えしたが、その基本的な特徴や便利さはご理解いただけただろうか。さて次回は、システム管理者やプログラマの視点で、ClickOnceの仕組みや配置方法、使い方・実装方法などを解説する予定だ。お楽しみに。![]()
| INDEX | ||
| ClickOnceの真実 | ||
| 第1回 ClickOnceの基本動作を見てみよう | ||
| 1.ClickOnceの概要とデプロイメント機能 | ||
| 2.アップデート機能とロールバック機能 | ||
| 【コラム】ClickOnceが生まれた理由 | ||
| 「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 -











