時代はWebとWindowsの融合へ。アプリケーションの配布・更新スタイルを大きく変える注目の新技術ClickOnceを詳解する連載がスタート!
来る2006年2月3日からVisual Studio 2005(以降、VS 2005)正式パッケージ版がついに店頭に並ぶ(MSDNサブスクリプション会員向けには、すでに2005年12月15日からMSDNサブスクライバ・ダウンロードにて提供されている。さらにすべての開発者向けに、無償でダウンロードできるVS 2005 Express Editionが現在すでに提供中だ)。いままさに次世代の.NET標準の開発環境が登場し、間もなくそのパワーをあらゆる開発者が楽しめるようになろうとしているわけだ。
読者諸氏もご存じのように、このVS 2005と.NET Framework 2.0の機能内容が発表されたのはもうかれこれ数年前のことである。それから今日のリリースまでの間、マイクソフトによるカンファレンスや各メディアで、その機能内容は何度も紹介・説明されてきた。そして数多くの新機能の中でも最も人気を集めたキーワードの1つが「ClickOnce」なのである(「クリックワンス」と読む。.NET Framework 2.0に搭載されたソフトウェアの配布・更新技術のこと。従来のノータッチ・デプロイメントの後継技術でもある)。実際に、Visual Studio .NETからVS 2005へ移行したい最大の理由として「ClickOnceの魅力」を挙げる人も少なくなかった。
確かにClickOnceは非常によくできた機能で、従来の問題を解決できる画期的なテクノロジである。しかし「VS 2005がリリースされたらClickOnceを絶対に使いたい」という期待を抱いてClickOnce機能に触れてみると、必ずしも誰もが満足できる機能には仕上がっていないようである(もちろんどんなテクノロジにも、どこかに合わないところやちょっとした不便な点くらいはあるだろうが……)。
それではClickOnceには、どのような特長があり、どこに欠点があるのだろうか? 本連載では、誇張したり過大評価したりすることなく、そのような「ClickOnceの真実」を紹介していきたいと考えている。
具体的な内容としては、まずユーザーの視点から見たClickOnceの基本動作を紹介し(今回)、次にシステム管理者や開発者の視点から見たClickOnceの仕組みや使い方・実装方法などを見ていく(次回)。またさらに、ClickOnceを特徴づけるセキュリティ機構や.NETにおけるデプロイメント・テクノロジの未来について解説していく予定だ。
なお大半の読者諸氏はよくご存じだとは思うが、後進の.NET開発者のために、ClickOnceという配布・更新技術が生まれた背景について別ページで簡単にまとめた。Windowsアプリケーション(以降、Windowsアプリ)についておさらいしておきたい読者諸氏は参照されたい。
それではClickOnceとはどのようなテクノロジなのだろうか? 従来から.NET Frameworkにあったノータッチ・デプロイメントとはどこが違うのだろうか?
ClickOnceとは、先に述べたように、.NET Framework 2.0によって提供される新しいソフトウェアの配布・更新テクノロジである。ノータッチ・デプロイメントの欠点やほかの展開技術から学び、新たな進化を遂げている。
主な特長として、(ノータッチ・デプロイメントと比べると)何といってもローカルにプログラムがインストールされるために、実行時のセキュリティ設定を柔軟に指定できるようになり(セキュリティ制限をまったく受けずに実行されるようにすることもできる。ただしこのように書くと、セキュリティ面で問題があるように思われるかもしれないが、それについては続編で詳しく述べよう)、またこれによりオフラインでも利用できるようになることだ。もちろん従来のノータッチ・デプロイメントのようにインストールせずにWebから直接実行する配置オプションも残されている。ClickOnceには、状況に合わせて選べる多彩な配置オプションが用意されているのだ。
またClickOnceの実装から配布までに必要なコンポーネントの作成は、VS 2005のIDEに完全に統合されている。このため、ClickOnceの配置に関する各プロパティの設定がIDEからグラフィカルに行えるだけでなく、Webサーバへのアプリケーションの配置や、配置したアプリケーションをユーザーがインストールできるようにするためのWebページの作成までもが自動化されている。
さらに(後述する)ClickOnceのアップデート機能などは、.NET Framework 2.0クラス・ライブラリのAPIから手動で呼び出すことも可能だ。
このようにClickOnceはノータッチ・デプロイメントの比ではなく多機能である。従って本稿ではまず「典型的なClickOnceの機能」を理解することにしよう。これには、だらだらと説明を読むよりも、実際に動かしてみた画面をざっと見ていく方が早いだろう。そこで以降では、基本的なClickOnceの動作の流れを実行画面で示していくことにする。なお今回説明しない詳細なClickOnceの機能内容については、続編にて解説する。
前述したように、ClickOnceには複数の配置オプションが用意されているが、本稿では最も標準的な配置オプションであると思われる、イントラネット/インターネットなどのWebからローカル環境へアプリケーションをインストールする場合の配置を紹介する。なお本稿では開発環境としてVS2005 Professional Edition日本語版を使用している。
本稿で使用するサンプル・アプリケーションは、次のリンクからダウンロード可能だ。
これをビルドして実行するには、Visual Studio 2005もしくはVisual C# 2005 Express Editionが必要だ。Visual C# 2005 Express Editionは次のサイトから無償でダウンロードできる(インストール方法などはサイト内の記述を参照してほしい)。
それではClickOnceの基本機能を見ていこう。
次の画面がVS 2005で生成されたClickOnceアプリケーション(以降、ClickOnceアプリ)のインストールおよび起動用のWebページである。このページにある[インストール]ボタンをクリックすると、(初回の場合は)アプリケーションがインストールされ、続けてアプリケーションが起動される。すでにアプリケーションがインストール済みの場合は(つまり2回目以降)、インストール処理は省略されて、そのアプリケーションが起動される。
ClickOnceアプリの実行に関しては、もちろんユーザーのローカル環境に.NET Framework 2.0がインストールされている必要がある。以前は.NET Framework自体のインストールが.NETアプリ配布の妨げとなることもあったが、ClickOnce(によって生成されるインストール用のWebページ)では、.NET Framework 2.0がインストールされていない場合には、次のようなWebページ(=必須コンポーネントのインストールを促すページ)が表示されるようになっている。
このWebページで[インストール]ボタンをクリックすると、必須コンポーネントとして.NET Framework 2.0のインストールが開始される。なお、このサンプル・アプリケーションではマイクロソフトのサイトから.NET Framework 2.0をダウンロードする設定になっているが、自サイトやほかのサイトなどからダウンロードさせることも可能だ。
次に、これらのWebページから実際にClickOnceアプリをインストールしようとすると、(基本的に)次の画面のような[アプリケーションのインストール − セキュリティの警告]ダイアログが表示される(セキュリティ設定の内容によって表示させないこともできる。詳しくは次回以降で解説する)。このダイアログは信頼できない発行元のアプリケーションであることをユーザーに警告するためのものだ。
[詳細情報]のリンクをクリック
この[アプリケーションのインストール − セキュリティの警告]ダイアログで[インストール]ボタンをクリックして次に進むと、[アプリケーションの起動中]を示すダイアログが表示される。このダイアログが表示されている間、インストーラはWebサーバへアクセスしてアプリケーションのバージョン情報などを確認して最新バージョンのものをインストールするための準備をしたり、そのアプリケーション自体をローカル環境へダウンロードしてインストールしたりする。その起動処理が完了し次第、実際にClickOnceアプリがデスクトップ上で起動する。
以上でClickOnceアプリのインストールおよび起動は完了だ。
本稿のサンプル・アプリケーションでは、[スタート]メニューを開いて[すべてのプログラム]−[Digital Advantage]を参照すると、[SampleApplication]アプリケーションへのショートカット・メニュー項目が作成されているのが確認できるだろう(このショートカット・メニュー項目もClickOnceの設定によっては作成されないことがある。詳細は次回以降で)。
ここまでを読んで、「このようにWebページのリンクをクリックして、ただ単純にローカル環境にWindowsアプリをインストールするだけならば、.MSIファイル(=Microsoft Windows Installerパッケージによるセットアップ・プログラム)をWebに配置してインストールしたのと、あまり大差ない」、そのように思われた読者諸氏も多いかもしれない。
確かにインストール作業だけを見れば.MSIファイルとそれほど変わらないかもしれない。だがClickOnceの真価は、その更新(アップデート)機能とセキュリティ機能にこそある。そこで次に、アップデート機能の動作を見ていくことにしよう(セキュリティ機能については次回以降で解説する)。
Copyright© Digital Advantage Corp. All Rights Reserved.