|
前回の記事では、私が「ClickOnce」について書きたくなった理由をつらつらとお話させて頂きました。さて、本稿では「ClickOnce」で何が出来るのかという点を中心にお話をしていきたいと思います。
Microsoftのドキュメントの表現を直訳すると「ClickOnce」とはアプリケーションを配布するためのテクノロジで、このテクノロジにより配布されたアプリケーションは自動的に自分自身を更新する事が可能であると書かれています。
例えば、ClickOnceアプリケーションをWebサーバに配置し、そのアプリケーションへのリンクを持つWebページを作成します。そして、そのリンクがクリックされるとローカルコンピュータにClickOnceアプリケーションがダウンロードされ、インストールがなされます。この点はClickOnceの先祖に当たる「ノータッチ・デプロイメント」とは異なる点です。「ノータッチ・デプロイメント」はインストール自体は行わず、ローカルコンピュータ上のキャッシュ内にダウンロードし、そのまま実行するスタイルをとっていました。インストールされるので、ちゃんと、[スタート] メニューのショートカットや [アプリケーションの追加と削除] にも追加されます。
※ClickOnceでもインストールせず、起動するように設定する事も可能です。
しかも、ただインストールされるだけでなく、アプリケーションが更新されると自動的にその更新をローカルコンピュータのアプリケーションに反映してくれるという素晴らしい機能が備わっているのです。また、更新するだけで無く、更新をロールバックする事も可能になっています。 ClickOnceによるアプリケーションのインストールはローカルコンピュータに影響を与えない形で行われます。Windows Installerを使用する従来のアプリケーションの場合、アプリケーションをインストールする事により、DLLが更新され他のアプリケーションが起動しなくなるといった事が頻発しましたが、ClickOnceではそのような事は発生しません。これはClickOnceの特徴というより、.NETで作成したアプリケーションの特徴で有るかと思います。(詳細については、後日解説いたします。) また、ノータッチ・デプロイメントで問題になったセキュリティの問題も改善がなされています。ネットワークからダウンロードされ、起動、またはインストールされるアプリケーションはSandBoxの中で実行され、例えばローカルのファイルシステムにアクセス出来ない等の制限が与えられてしまいます。これ自体は大変素晴らしい機能で、悪意をもったコードがローカルマシンに悪さをすることを回避する事が出来るのです。ただし、本当に必要なアプリケーションに常にそういった制限が加えられては、不都合が生じるケースも有ります。そのため、ClickOnceアプリケーションでは制限の解除が許可されるように設定ファイルに記述し、インストール時にユーザに許可を与えるかを選択させる仕組みを備えています。ノータッチ・デプロイメントでは、許可するか否かをローカルコンピュータに予め設定する必要が有り、運用面で問題を抱えていました。 以上、ClickOnceの特徴について、駆け足でお話して来ましたが、これらの特徴を見てみると、今までクライアント/サーバーアプリケーションが抱えてきた問題の大部分をClickOnceでは解決できるのではないかという期待を持つ事ができます。私はClickOnceで、ユーザに本当に良い業務アプリケーションを提供する事ができるのではないかいう大きな期待を持っています。 さて、次回以降では、各特徴について、詳細なお話をしていきたいと思っています。次回は、「ClickOnceアプリケーションの配置場所と更新の詳細」についてお話したいと思います。 |