再署名を行わない ClickOnce アプリケーションの配置 (テスト サーバーおよび運用サーバー)
このトピックでは、.NET Framework Version 3.5 で導入された ClickOnce の新機能について説明します。この機能を使用すると、ClickOnce マニフェストに再署名したり、ClickOnce マニフェストを変更したりせずに、ネットワーク上の複数の場所から ClickOnce アプリケーションを配置できます。
注意
新しいバージョンのアプリケーションを配置する場合には、従来どおり、再署名を行う方法が推奨されます。 可能な限り、再署名を行う方法を採用してください。 詳細については、「Mage.exe (マニフェストの生成および編集ツール)」を参照してください。
サードパーティの開発者と ISV は、この機能を選択し、ユーザーがアプリケーションを容易に更新できるようにすることが可能です。 この機能を使用できるシナリオについて、次に説明します。
アプリケーションを (初めてインストールするのではなく) 更新する場合。
コンピューター上にアプリケーションが 1 つだけ構成されている場合 (たとえば、アプリケーションが 2 つの異なるデータベースを参照している場合、この機能は使用できません)。
配置マニフェストからの deploymentProvider の除外
.NET Framework 2.0 および .NET Framework 3.0 では、オフライン機能を利用できるシステムにインストールされている ClickOnce アプリケーションは、その配置マニフェストに deploymentProvider を指定する必要があります。 deploymentProvider は、"更新場所" と呼ばれることもあり、ClickOnce がアプリケーション更新をチェックする場所を指します。 配置に署名するためにアプリケーション発行者に求められる要件に加えて、この要件があることで、販売元などのサードパーティが ClickOnce アプリケーションを更新することを困難にしていました。 また、同じネットワーク上にある複数の場所から 1 つのアプリケーションを配置することも困難でした。
.NET Framework 3.5 の ClickOnce に加えられた変更により、サードパーティが別の組織に対して ClickOnce アプリケーションを提供し、さらに独自のネットワークにアプリケーションを配置することができるようになります。
この機能を利用するには、ClickOnce アプリケーションの開発者は、配置マニフェストから deploymentProvider を除外する必要があります。 これは、Mage.exe を使用して配置マニフェストを作成する場合は、-providerUrl 引数を除外することを意味します。MageUI.exe を使用して配置マニフェストを生成する場合は、アプリケーション マニフェスト タブの [開始場所] ボックスを空白のままにすることを意味します。
deploymentProvider とアプリケーションの更新
.NET Framework 3.5 以降では、ClickOnce アプリケーションをオンラインとオフラインで使用できるように配置するために、配置マニフェストに deploymentProvider を指定する必要はなくなりました。 これにより、配置をパッケージ化して署名する必要があるけれども、他の企業で自らのネットワーク上にアプリケーションを配置できるようにする、というシナリオがサポートされます。
deploymentProvider を除外したアプリケーションは、deploymentProvider タグを含む更新を提供しない限り、更新中にインストール場所を変更できないという点について注意する必要があります。
2 つの例を挙げて、この点について説明します。 まず、deploymentProvider タグを含まない ClickOnce アプリケーションを発行し、http://www.adatum.com/MyApplication/ からインストールを行うようにユーザーに依頼する場合を考えます。 アプリケーションの次回更新を http://subdomain.adatum.com/MyApplication/ から発行することを決めた場合、http://subdomain.adatum.com/MyApplication/ にある配置マニフェストに更新の署名を行う方法はありません。 この場合、次のいずれかを実行できます。
ユーザーに対し、以前のバージョンをアンインストールし、新しい場所から新しいバージョンをインストールするように伝えます。
http://www.adatum.com/MyApplication/ を参照する deploymentProvider を含めて、http://www.adatum.com/MyApplication/ に更新をいったん置きます。 その後、http://subdomain.adatum.com/MyApplication/ を参照する deploymentProvider を指定した別の更新をリリースします。
2 番目の例では、deploymentProvider を指定した ClickOnce アプリケーションを発行し、それを削除することにします。 deploymentProvider を含まない新しいバージョンをクライアントがダウンロードすると、deploymentProvider を含むバージョンのアプリケーションをリリースしない限り、更新に使用するパスにリダイレクトすることはできません。 最初に挙げた例と同様に、deploymentProvider は、最初は新しい場所ではなく、現在の更新の場所を指しています。 この場合、http://subdomain.adatum.com/MyApplication/ を参照する deploymentProvider を挿入しようとすると、次の更新は失敗します。
配置の作成
異なるネットワーク上の場所から配置可能な配置を作成する手順については、「チュートリアル : 再署名が不要で商標を保持する ClickOnce アプリケーションの手動配置」を参照してください。