ClickOnce の配置の概要
更新 : 2007 年 11 月
ClickOnce は、ユーザーとの最小限の対話によってインストールして実行できる、自己更新型の Windows ベースのアプリケーションの作成を可能にする配置テクノロジです。ClickOnce の配置は、配置に内在する次の 3 つの主要な問題を克服しています。
**アプリケーションの更新における問題。**Microsoft Windows インストーラによる配置では、アプリケーションが更新されるたびにアプリケーション全体を再インストールする必要があります。ClickOnce による配置では、更新を自動的に提供できます。アプリケーションの変更された部分だけがダウンロードされ、次に、更新されたアプリケーション全体が新しい side-by-side フォルダから再インストールされます。
**ユーザーのコンピュータへの影響。**Windows インストーラの配置では、多くの場合、アプリケーションはバージョン管理の競合が発生する可能性を伴う共有コンポーネントに依存しています。ClickOnce の配置では、各アプリケーションは独立しているため、他のアプリケーションに干渉することはありません。
**セキュリティ アクセス許可。**Windows インストーラの配置には管理者権限が必要で、一部のユーザーだけがインストールを許可されます。ClickOnce の配置では管理者権限を持たないユーザーがアプリケーションをインストールでき、アプリケーションに必要なコード アクセス セキュリティのアクセス許可だけが付与されます。
これまで、これらの問題が原因で、開発者はインストールを容易にするために、Windows フォームの豊富なユーザー インターフェイスと応答速度を犠牲にして、Windows ベースのアプリケーションではなく Web アプリケーションを作成することもありました。ClickOnce を使用して配置されたアプリケーションでは、両方のテクノロジの長所を活かすことができます。
ClickOnce アプリケーションとは何か
簡単に言うと、ClickOnce アプリケーションは、ClickOnce テクノロジを使用して発行された Windows Presentation Foundation アプリケーション、Windows フォーム アプリケーション、またはコンソール アプリケーションです。ClickOnce アプリケーションは、Web ページ、ネットワーク ファイル共有、および CD-ROM などのメディアの 3 とおりの方法で発行できます。ClickOnce アプリケーションは、エンド ユーザーのコンピュータにインストールし、コンピュータがオフラインのときにもローカルで実行できます。また、エンド ユーザーのコンピュータに永続的にインストールせずに、オンライン専用モードで実行することもできます。詳細については、「ClickOnce 配置ストラテジの選択」を参照してください。
ClickOnce アプリケーションは、自己更新型にできます。つまり、新しいバージョンがないかどうかをチェックし、新しいバージョンが利用できるようになると更新されたファイルを自動的に置き換えます。開発者は、更新動作を指定できます。ネットワーク管理者は、更新を必須としてマークするなど、更新方法を制御できます。また、エンド ユーザーまたは管理者が、更新を以前のバージョンにロールバックすることもできます。詳細については、「ClickOnce の更新方法の選択」を参照してください。
ClickOnce アプリケーションは分離されているため、ClickOnce アプリケーションのインストールや実行によって、既存のアプリケーションが破損することはありません。ClickOnce アプリケーションは、完全に独立しています。各 ClickOnce アプリケーションは、ユーザーごとにアプリケーション単位の安全なキャッシュにインストールされ、実行されます。既定では、ClickOnce アプリケーションは、インターネットまたはイントラネットのセキュリティ ゾーンで実行されます。必要であれば、アプリケーションは高いレベルのセキュリティ アクセス許可を要求できます。詳細については、「ClickOnce の配置とセキュリティ」を参照してください。
ClickOnce の配置のしくみ
ClickOnce の配置のコア アーキテクチャは、アプリケーション マニフェストと配置マニフェストの 2 つの XML マニフェスト ファイルに基づいています。
アプリケーション マニフェストは、アセンブリ、アプリケーションを構成する依存関係とファイル、必須アクセス許可、更新を利用できる場所など、アプリケーション自体について記述します。アプリケーション開発者は、Visual Studio 2008 の発行ウィザード、または Windows Software Development Kit (SDK) のマニフェスト生成ツール (Mage.exe) を使用して、アプリケーション マニフェストを作成します。詳細については、「方法 : ClickOnce アプリケーションを発行する」を参照してください。
配置マニフェストは、アプリケーション マニフェスト、クライアントで実行するアプリケーションのバージョンなど、アプリケーションの配置方法を記述します。管理者は、Windows SDK のマニフェスト生成ツール (Mage.exe) を使用して、配置マニフェストを作成します。
メモ : |
---|
Microsoft Visual Studio 2005 の発行ウィザードでも、配置マニフェストを生成できます。 |
配置マニフェストを作成したら、配置場所にコピーします。この場所は、Web サーバー、ネットワーク ファイル共有、CD などのメディアのいずれでもかまいません。アプリケーション マニフェストとすべてのアプリケーション ファイルも、配置マニフェストで指定した配置場所にコピーします。これは、配置場所と同じ場所にすることも、別の場所にすることもできます。Microsoft Visual Studio 2005 の発行ウィザードを使用する場合、コピー操作は自動的に実行されます。
メモ : |
---|
開発者が管理者でもある場合 (つまり、配置マニフェストを配置する Web サイトまたはファイル共有の管理者資格情報を持っている場合)、必要になるのはこのマニフェストだけです。開発者が管理者でない場合には、管理者がコマンド ライン ツールを使用して、マニフェストの更新と署名を行う必要があります。 |
配置マニフェストが配置場所に配置されると、エンド ユーザーは Web ページ上またはフォルダ内の配置マニフェスト ファイルを表すアイコンをクリックすることで、アプリケーションをダウンロードし、インストールできます。ほとんどの場合、エンド ユーザーには、インストールするかどうかを確認する簡単なダイアログ ボックスが表示され、その後にインストールが進行します。アプリケーションは、エンド ユーザーの介入をそれ以上必要とせずに起動されます。アプリケーションに高いレベルのアクセス許可が必要な場合にも、インストールを続行する前に、アクセス許可を付与するかどうかをユーザーに確認するダイアログ ボックスが表示されます。
アプリケーションは、ユーザーの [スタート] メニューと、コントロール パネルの [プログラムの追加と削除] グループに追加されます。他の配置テクノロジとは異なり、Program Files フォルダ、レジストリ、またはデスクトップには何も追加されず、インストールするための管理者権限は必要ありません。
メモ : |
---|
[スタート] メニューと [プログラムの追加と削除] グループにアプリケーションが追加されないようにし、実質的に Web アプリケーションのように動作させることもできます。詳細については、「ClickOnce 配置ストラテジの選択」を参照してください。 |
アプリケーション開発者は、アプリケーションの最新バージョンの作成時に、新しいアプリケーション マニフェストを生成し、配置場所 (通常は、元のアプリケーション配置フォルダの兄弟フォルダ) にファイルをコピーします。管理者は、配置マニフェストを更新して、アプリケーションの新しいバージョンの場所を参照します。
メモ : |
---|
Microsoft Visual Studio 2005 の発行ウィザードを使用して、これらの手順を実行できます。 |
配置マニフェストには、配置場所だけでなく、アプリケーションが最新バージョンをチェックする更新場所 (Web ページまたはネットワーク ファイル共有) も含めることができます。アプリケーションが更新をチェックする時期と頻度を指定するには、ClickOnce の "発行" プロパティを使用します。更新動作は、配置マニフェストで指定できます。また、ClickOnce API によって、アプリケーションのユーザー インターフェイスにユーザーの選択肢として表示することもできます。"発行" プロパティを使用して、更新を必須にしたり、旧バージョンにロールバックしたりすることもできます。詳細については、「ClickOnce の更新方法の選択」を参照してください。
ClickOnce と Windows インストーラの比較表
ClickOnce の配置と Windows インストーラの配置の各機能を比較した表を次に示します。
機能 |
ClickOnce |
Windows インストーラ |
---|---|---|
自動更新 1 |
○ |
○ |
インストール後のロールバック 2 |
○ |
× |
Web からの更新 |
○ |
× |
共有コンポーネントまたは他のアプリケーションへの影響 |
○ |
× |
付与されるセキュリティ アクセス許可 |
アプリケーションに必要なアクセス許可だけを付与 (安全性が高い) |
既定で Full Trust を付与 (安全性が低い) |
必要なセキュリティ アクセス許可 |
インターネット ゾーンまたはイントラネット ゾーン (CD-ROM からのインストールの場合は Full Trust) |
Administrator |
アプリケーション マニフェストと配置マニフェストの署名 |
○ |
× |
インストール時のユーザー インターフェイス |
1 つのプロンプト |
マルチパートのウィザード |
必要に応じたアセンブリのインストール |
○ |
× |
共有ファイルのインストール |
× |
○ |
ドライバのインストール |
× |
○ (カスタム動作を使用) |
グローバル アセンブリ キャッシュへのインストール |
× |
○ |
複数ユーザー向けのインストール |
× |
○ |
[スタート] メニューへのアプリケーションの追加 |
○ |
○ |
スタートアップ グループへのアプリケーションの追加 |
× |
○ |
[お気に入り] メニューへのアプリケーションの追加 |
× |
○ |
ファイルの種類の登録 |
× |
○ |
インストール時のレジストリ アクセス 3 |
制限 |
○ |
バイナリ ファイルの修正 |
× |
○ |
アプリケーションのインストール場所 |
ClickOnce アプリケーション キャッシュ |
Program Files フォルダ |
メモ
1. Windows インストーラでは、アプリケーション コードでプログラムによる更新を実装する必要があります。
2. ClickOnce では、ロールバックは [プログラムの追加と削除] で使用できます。
3. ClickOnce の配置で HKEY_LOCAL_MACHINE (HKLM) にアクセスするには完全信頼のアクセス許可が必要です。
詳細については、「配置ストラテジの選択」を参照してください。