WPF アプリケーションを配置する

ビルドされた Windows Presentation Foundation (WPF) アプリケーションは、配置する必要があります。 Windows および .NET Framework には、いくつかの配置テクノロジがあります。 WPF アプリケーションの配置に使用される配置テクノロジは、アプリケーションの種類によって決まります。 このトピックでは、それぞれの配置テクノロジの概要と使用法を、それぞれの WPF アプリケーションの種類の配置要件に関連して説明します。

配置テクノロジ

Windows および .NET Framework には、次のような、いくつかの配置テクノロジがあります。

  • XCopy による配置。

  • Windows インストーラーの配置。

  • ClickOnce 配置。

XCopy による配置

XCopy による配置とは、XCopy コマンド ライン プログラムを使用して、ある場所から別の場所へファイルをコピーすることです。 XCopy による配置は、次のような状況に適しています。

  • アプリケーションは自己完結型である。 実行するためにクライアントを更新する必要がない。

  • アプリケーション ファイルをある場所から別の場所へ、たとえば、ビルド場所 (ローカル ディスク、UNC ファイル共有など) から公開場所 (Web サイト、UNC ファイル共有など) へ移動する必要がある。

  • アプリケーションはシェル統合 ([スタート] メニューのショートカット、デスクトップ アイコンなど) を必要としない。

XCopy は、単純な配置シナリオには適していますが、複雑な配置機能が必要なシナリオには十分に対応できません。 特に、配置を堅牢な方法で管理する場合、XCopy を使用すると、スクリプトの作成、実行、および維持というオーバーヘッドが生じます。 さらに、XCopy は、バージョン管理、アンインストール、およびロールバックをサポートしません。

Windows インストーラー

Windows インストーラーを使用すると、アプリケーションを自己完結型の実行可能ファイルとしてパッケージ化でき、容易にクライアントに配布して、実行できます。 さらに、Windows インストーラーは Windows と共にインストールされるため、デスクトップ、[スタート] メニュー、および [プログラム] コントロール パネルとの統合が可能です。

Windows インストーラーでは、アプリケーションのインストールとアンインストールが単純化されますが、インストールされたアプリケーションをバージョン管理の観点から最新に保つ機能は提供されません。

Windows インストーラーの詳細については、「Windows インストーラー配置」を参照してください。

ClickOnce 配置

ClickOnce を使用すると、非 Web アプリケーションを Web スタイル アプリケーションと同じように配置できます。 アプリケーションは、Web サーバーまたはファイル サーバーに公開され、これらのサーバーから配置されます。 ClickOnce では、Windows インストーラーによってインストールされるアプリケーションでサポートされるような広い範囲のクライアント機能がサポートされるわけではありませんが、次のような機能がサポートされます。

  • [スタート] メニューおよび [プログラム] コントロール パネルとの統合。

  • バージョン管理、ロールバック、およびアンインストール。

  • アプリケーションを常に配置場所から起動するオンライン インストール モード。

  • 新しいバージョンがリリースされたときの自動更新。

  • ファイル拡張子の登録。

ClickOnce の詳細については、「ClickOnce のセキュリティと配置」を参照してください。

WPF アプリケーションの配置

WPF アプリケーションの配置オプションは、アプリケーションの種類によって決まります。 配置の観点から見ると、WPF には次の 3 種類のアプリケーションがあります。

  • スタンドアロン アプリケーション。

  • マークアップのみの XAML アプリケーション。

  • XAML ブラウザー アプリケーション (XBAP)。

スタンドアロン アプリケーションの配置

スタンドアロン アプリケーションは、ClickOnce または Windows インストーラーを使用して配置されます。 いずれの場合も、スタンドアロン アプリケーションを実行するには、アプリケーションが完全に信頼されている必要があります。 Windows インストーラーを使用して配置されたスタンドアロン アプリケーションには、完全な信頼が自動的に付与されます。 ClickOnce を使用して配置されたスタンドアロン アプリケーションには、完全な信頼は自動的に付与されません。 代わりに、スタンドアロン アプリケーションをインストールする前に、ClickOnce によって [セキュリティ警告] ダイアログが表示され、ユーザーがそれを受け入れる必要があります。 受け入れた場合、スタンドアロン アプリケーションがインストールされ、完全な信頼が付与されます。 受け入れなかった場合、スタンドアロン アプリケーションはインストールされません。

マークアップのみの XAML アプリケーションの配置

マークアップのみの XAML ページは、通常、HTML ページと同様に Web サーバーに公開され、Internet Explorer を使用して表示できます。 マークアップのみの XAML ページは、部分信頼セキュリティ サンドボックス内で実行され、インターネット ゾーン アクセス許可セットによって定義された制約が適用されます。 これにより、HTML ベースの Web アプリケーションと同等のセキュリティ サンドボックスが提供されます。

WPF アプリケーションのセキュリティの詳細については、「セキュリティ」を参照してください。

マークアップのみの XAML ページは、XCopy または Windows インストーラーを使用してローカル ファイル システムにインストールできます。 これらのページは、Internet Explorer または Windows エクスプローラーを使用して表示できます。

XAML の詳細については、「WPF の XAML」を参照してください。

XAML ブラウザー アプリケーションの配置

警告

XBAP が動作するには、インターネット エクスプローラーや Firefox などの従来のブラウザーが必要です。 これらの古いブラウザー バージョンは、通常、Windows 10 や Windows 11 ではサポートされていません。 最新のブラウザーでは、セキュリティ リスクがあるため XBAP アプリに必要なテクノロジがサポートされなくなりました。 XBAP を有効にするプラグインはサポートされなくなりました。

XBAP は、次の 3 つのファイルを配置する必要があるコンパイル済みのアプリケーションです。

  • ApplicationName.exe:実行可能アセンブリのアプリケーション ファイル。

  • ApplicationName.xbap:配置マニフェスト。

  • ApplicationName.exe.manifest:アプリケーション マニフェスト。

注意

配置マニフェストおよびアプリケーション マニフェストの詳細については、「WPF アプリケーションのビルド」を参照してください。

これらのファイルは、XBAP がビルドされるときに生成されます。 詳細については、「方法:新しい WPF ブラウザー アプリケーション プロジェクトを作成する」を参照してください。 マークアップのみの XAML ページと同様に、XBAP は、通常、Web サーバーに発行され、Internet Explorer を使用して表示されます。

XBAP は、任意の配置技術を使用してクライアントに配置できます。 ただし、次の機能を備えている ClickOnce をお勧めします。

  1. 新しいバージョンが公開されたときの自動更新。

  2. 完全な信頼で実行する XBAP の特権の昇格。

既定では、ClickOnce は、.deploy 拡張子を持つアプリケーション ファイルを公開します。 これは問題になる可能性がありますが、無効にできます。 詳細については、「ClickOnce 配置でのサーバーおよびクライアント構成の問題」を参照してください。

XAML ブラウザー アプリケーション (XBAP) の配置の詳細については、「WPF XAML ブラウザー アプリケーションの概要」を参照してください。

.NET Framework のインストール

WPF アプリケーションを実行するには、クライアントに Microsoft .NET Framework がインストールされている必要があります。 Internet Explorer では、ブラウザーでホストされる WPF アプリケーションが表示されるとき、クライアントに .NET Framework がインストールされているかどうかが自動的に検出されます。 .NET Framework がインストールされていない場合は、Internet Explorer によってユーザーにインストールが求められます。

.NET Framework がインストールされているかどうかを検出するために、Internet Explorer には、.xaml、.xps、および .application の拡張子を持つコンテンツ ファイルのフォールバック Multipurpose Internet Mail Extensions (MIME) ハンドラーとして登録されているブートストラップ アプリケーションが含まれています。 これらのファイルの種類に移動するとき、.NET Framework がクライアントにインストールされていなかった場合、ブートス トラップ アプリケーションによってインストールの許可を求められます。 許可が与えられなかった場合は、.NET Framework もアプリケーションもインストールされません。

許可が与えられた場合、Internet Explorer では Microsoft バックグラウンド インテリジェント転送サービス (BITS) を使用して .NET Framework がダウンロードされ、インストールされます。 .NET Framework が正常にインストールされた後、最初に要求されたファイルが新しいブラウザー ウィンドウで開きます。

詳細については、「.NET Framework およびアプリケーションの配置」を参照してください。

関連項目