原文「Deploying Applications Using the Prism Library for WPF」
製品に、効率よくPrismアプリケーションを移動するには、あなたは、アプリケーションの設計工程の一部として、配布するために、計画する必要があります。このトピックは、注意事項と、あなたが、配布と、あなたが、ユーザーの手で、アプリケーションを取得する必要がある動作のために、あなたの複合、あるいは、モジュール・アプリケーションを実行する必要がある動作を取り扱います。
WPFのPrismアプリケーションを配布する
Deploying WPF Prism Applications
WPFのPrismアプリケーションは、実行可能な、そして、多くの追加のDLLで構成することができます。実行可能なmainは、シェル・アプリケーション・プロジェクトです。いくつかの追加のDLLは、アプリケーションのモジュールです。いくつかの追加のDLLが、アプリケーションのシェルとモジュールで、使用された共有されたアセンブリだけかもしれません。加えて、あなたは、アプリケーションと一緒に配布されて、取得する、一そろいのリソースやコンテンツ・ファイルを持っているかもしれません。
WPFのPrismアプリケーションを配布するために、あなたは、3つの選択肢を持っています。:
- 「XCopy配布」
- ClickOnce配布
- Windowsインストーラ配布
「XCopy配布」は、XCOPYコマンド・ライン・ツールの使用が、含まれていても、含まれていなくても構いませんが、いくつかのファイルコピー操作の一種を通して、手動で配布するための一般的な用語として使用されています。あなたが、この方法で、アプリケーションを配布することを選択をする場合、それは、手動でファイルをパッケージ化する、そして、それらを対象とするコンピュータに移動することは、あなた次第です。アプリケーションは、実行される間、期待されるフォルダ構造、そして、シェル・アプリケーション、モジュールDLLが、実行可能な相対的に位置に準備され、そして、コンテンツ・ファイルは保持されている必要があります。
通常、配布の多くの自動的な手段は、正しい場所に配置されたか確認するように要求します。そして、ユーザーは、アプリケーションを実行するために、簡単にアクセスできます。それを容易にするために、あなたは、アプリケーションに存在する、追加のインストール要求に依存して、ClickOnceを使用する、あるいは、Windowsインストーラ(.msiファイル)を選択できます。
ClickOnce、あるいは、Windowsインストーラを使用するべきかどうかの判断は、多くの場合、誤解されています。ClickOnceは、フリーサイズの配布技術であることを意図していません。それは、アプリケーションのために、クライアント・コンピュータに、インストールの小さな影響が必要なことが意図されています。あなたのアプリケーションが、インストールされるとき、コンピュータに幅広い変更をする必要がある場合、-ドライバをインストールするような、サービスと、実際に、あなたの実行可能形式を実行する範囲の他のものをインストールする他のアプリケーションと統合されます。ClickOnceは、おそらく、適切な配布のための選択肢でありません。しかしながら、あなたが、クライアント・コンピュータで、軽量のインストールがある場合、そして、あなたが、WPFアプリケーションのネットワーク配布と更新から恩恵を受けたい場合、ClickOnceは、素晴らしい選択になります。
あなたのアプリケーションのためのWindowsインストーラ配布パッケージ(.msiファイル)を作成するためには、あなたは、いろいろな選択肢を持っています。Visual Studioのセットアップ・プロジェクトが含まれています。WindowsインストーラXML(WiX)プロジェクト、 あるいは、数多くのサードパーティ製のインストーラ作成製品。
ClickOnceで、WPFのPrismアプリケーションを配布する。
Deploying WPF Prism Application with ClickOnce
ClickOnceは、バージョン2.0から.NET Frameworkの一部であり、Windows Presentation Foundation (WPF)、あるいは、Windowsフォームの展開機構です。ClickOnceは、配布サーバからネットワーク経由で、WPFアプリケーションの自動配布と更新を可能にします。WPFのPrismアプリケーションは、クライアント・コンピュータに配布される、シェル、モジュール、そして、他のどんな依存関係を手に入れるために、ClickOnceを使用することができます。Prismアプリケーションの中心となる課題は、ClickOnceは、発行されたアプリケーション内で、動的に読み込まれた公開されたモジュールが自動的に含まれていないためのVisual Studio発行処理です。
ClickOnceにおけるWPFアプリケーションの配布は、2段階の工程です。まず、あなたは、Visual Studioから、アプリケーションを公開する必要があります。そして、その次に、あなたは、クライアント・コンピュータに、それを配布することができます。アプリケーションを発行すると、2つのマニフェストを作成します。(配布マニフェストとアプリケーション・マニフェスト)、そして、それは、ディレクトリを発行するために、アプリケーション・ファイルをコピーします。その公開フォルダは、続いて、クライアント・コンピュータにアクセスできる、公開されたアプリケーションを作成する開発者のコンピュータから、知っている位置とURLから、直接アクセスできない、他のサーバへ移動することができます。ユーザーが、移動することができるために、単純に、必要とするURLやリンクを提供して、アプリケーションを、クライアント・コンピュータに配布します。URLは、発行する配布サーバ上の、配布マニフェストを示しています。そのURLが、ブラウザで読み込まれるとき、クライアント・コンピュータ上のClickOnceは、マニフェストとマニフェストによって指定したアプリケーションファイルをダウンロードします。ファイルが、ユーザープロファイルの下にダウンロードされ、そして、格納されたあと、ClickOnceは、続いて、アプリケーションを立ち上げます。後に続く更新が、配布サーバに発行される場合、ClickOnceは、自動的に、それらの更新、ダウンロードを発見し、そして、それらを適用する、あるいは、アプリケーションが起動したあと、あなたが、要求に応じて、あるいは、背後で、発見、そして、更新を適用できる設定を行うことができます。
あなたが、WPFのPrismアプリケーションを発行するとき、それは、動的に、読み込み済みのモジュールを持っています。シェル・プロジェクトは、一般的に、動的にモジュールを読み込むための、プロジェクト参照を持ていません。その結果、また、公開されたClickOnceアプリケーション・マニフェストは、それらのモジュール・ファイルが含まれていません。そして、あなたが、ClickOnceを使用して、アプリケーションを配布する場合、クライアント・コンピュータは、モジュール・ファイルを手に入れないでしょう。これに対処するために、あなたは、モジュール・ファイルが含まれるために、シェル・アプリケーション・プロジェクトによって参照されないアプリケーション・マニフェストを変更する必要があります。
ClickOnce発行手順
ClickOnce Publishing Process
あなたは、Visual Studio 2013から、Manifest Generatingという名前のWindows Software Development Kit (SDK)ツール、Editingツール(Mage)やClickOnce発行APIを使用するカスタム・ツールを使用して、ClickOnceアプリケーションを発行することができます。Visual Studioは、発行するClickOnceのための必要な機能のほとんどを公開します。しかしながら、Visual Studioは、サーバで、ClickOnce配布を管理するIT管理者のために、できない、あるいは、望まないかもしれません。知恵者は、ClickOnceのために、ほとんどの共通の管理業務を対処するように設計します。;それは、あなたの管理者に与えることができる、軽量の.NET FrameworkのWindowsベース・アプリケーションです。しかしながら、知恵者は、あまりに多くの詳細な手順を必要とします。正しい注文で、実行されます、うまく完了した共通のタスクに アプリケーション・マニフェストの一覧を示す、アプリケーションファイルを変更することのような、より簡単に、これらのタスクを作成するために、カスタム・ユーティリティが必要です。
マニフェスト・マネージャー・ユーティリティ・サンプル・ユーティリティは、より単純な方法で、配布とアプリケーション・マニフェストを管理するために、ClickOnce発行APIをどのように、使用するのか、デモンストレーションをします。このユーティリティは、一つのユーザー・インターフェイス(UI)で、アプリケーション・マニフィスト・ファイル・リストを更新する、そして、マニフィスト設定を配布するために使用されます。そして、その使用することは、このトピックの後の、Prismアプリケーションの最初の配布、そして、更新のための項目の中で説明します。マニフェスト・マネージャー・ユーティリティで使用されるAPIは、読込、操作するための、Microsoft.Build.Tasks.Deployment名前空間を公開します。そして、ClickOnce配布のために、変更されたマニフェスト・ファイルを保存します。あなたは、Codeplex上で、Prismのコミュニティ・サイトから、マニフェスト・マネージャー・ユーティリティをダウンロードすることができます。動的なモジュール読み込みを使用して、WPFのPrismアプリケーションを発行、そして、更新するために必要な具体的な手順を学ぶために、WPFのPrismの配布のhands-on lab:ClickOnceの公開と更新を参照してください。
次の図は、Visual Studioが、配布フォルダを作成する方法に基づいて、あなたが、ClickOnceによるアプリケーションを発行するとき、ClickOnceアプリケーションの配布の代表的な構造を示しています。それには、既定の配布マニフェスト(.applicationファイル)が含まれているアプリケーションのための、ルート・フォルダが含まれています。Visual Studioで作成されるとき、通常、既定の配布マニフェストは、最も最近発行されたバージョンを示していますが、それは、管理者が選択する、どのバージョンでも指すために、変更されることができます。 また、ルート・フォルダは、あなたが、アプリケーションを配布する前に実行するために、インストーラが必要な、あるいは、ClickOnceを使用する場合があるアプリケーションのための前提条件を配布することができる、Setup.exeブートストラッパーが含まれています。それは、続いて、アプリケーション固有のファイルのための、あなたが、発行する下で、あなたは、それぞれのバージョンのために、分離したサブフォルダを取得する、サブフォルダです。公開バージョンは、全体として、配布されたバージョン管理とは、対照的に、含まれるアセンブリのそれぞれのアセンブリ・バージョン、配布マニフェスト・ファイルの分離したプロジェクト設定とエントリです。公開バージョンは、ClickOnceアプリケーションを、すでにインストールしているクライアントから、入手可能な更新があるとき、判断するために、ClickOnceによって使用されます。
ClickOnceは、フォルダ構造を発行する
各々の公開バージョンのアプリケーションファイル・フォルダの下で、あなたは、配布マニフェスト(.applicationファイル)の他のコピーを持っています。それは、クライアント・コンピュータに具体的なバージョンを配布するために、使用することができます。あるいは、それは、ルート・フォルダに、以前のバージョンに、サーバー側をロールバックをさせるために、コピーすることができます。実行可能なアプリケーション、加えて、(Prismモジュールアセンブリのような)何かに依存したライブラリーに、そして、リソース・ファイルは、また、このフォルダの中にあり、Visual Studioで発行されるとき、自動的に最後に.deployファイル名の拡張子を付けられます。これは、ウェブサーバを発行することに、ファイル拡張子マッピングを簡素化するために、行われます。そのため、あなたは、.dll、.exe、そして、アプリケーションを構成する無数の潜在的なファイルタイプをダウンロードを提供する必要はありません。
また、アプリケーション・マニフェスト(.exe.manifest)ファイルは、このフォルダに、含まれています。そして、配布マニフェストによって、参照されます。これは、アプリケーションが、変化検出を支援するために、ファイルごとのハッシュ値と構成されるファイルの一覧が含まれています。;また、それには、実行するアプリケーションによって、必要な権限のリストが含まれています。なぜなら、ClickOnceは、必要に応じて、部分的に信頼するAppDomainで、アプリケーションを起動することができます。
あなたが、ClickOnceアプリケーションの配布を、Mage、あるいは、カスタム・ツールのどちらかを使用して、手動で、作成、あるいは、更新する場合、あなたは、このフォルダとファイル構造に拘束されません。個々のClickOnceによる公開のための依存関係のセットは、次のものが含まれています。:
- それには、配布マニフェストが含まれています。それは、URLに基づいた、組み込まれたコードを通して、アプリケーション・マニフェストを示しています。
- それには、アプリケーション・マニフェストが含まれています。それには、アプリケーションファイルの各々への相対パスが含まれています。これらのファイルは、アプリケーション・マニフェストが存在する、同じフォルダ、あるいは、サブフォルダに存在する必要があります。
それには、アプリケーションファイル自体が含まれています。通常、.deployファイル名拡張は、配布サーバのMIME型の、これらのファイルのマッピングを容易にするために、ファイル名に添付されます。ClickOnceは、ファイルがダウンロードされたあと、自動的に、クライアント側で、.deployファイル名拡張をはぎ取ります。
ClickOnce配置と更新手順
ClickOnce Deployment and Update Process
ClickOnceを経由した、ユーザーへのアプリケーションの実際の配布は、配布サーバで、あなたの公開されたアプリケーションの配布マニフェストに、URLやハイパーリンクを提供することで、たいてい開始されます。ユーザーは、ハイパーリンクをクリックしたり、あるいは、ブラウザでアドレスを入力することができます。そして、ClickOnce配布工程は呼び出されます。マニフェストとアプリケーションファイルが、クライアント・コンピュータにダウンロードされたあと、アプリケーションは、起動します。あなたが、オフラインで使用するために、最初の配布の間に、アプリケーションをインストールできるClickOnceオプションが、あります。あるいは、あなたは、ユーザーに、毎回、リンク、あるいは、URLを使用して、アプリケーションを立ち上げることを、要求することができます。あなたが、配布サーバへ、アプリケーションの新しいバージョンを発行するとき、ClickOnceは、更新を、自動的に、あるいは、手動で確認することができます。そして、ダウンロードするでしょう。そして、アプリケーションが、次回、起動する時、updateを適用します。
詳細情報
More Information
- あなたは、Codeplex上で、Prismのコミュニティ・サイトから、マニフェスト・マネージャー・ユーティリティをダウンロードすることができます。
- 動的なモジュール読み込みを使用して、WPFのPrismアプリケーションを発行、そして、更新するために必要な具体的な手順を学ぶために、PrismライブラリHands-on Labを使用したアプリケーションの出版と更新を参照してください。