次の方法で共有


Windows App SDK の展開の概要

Windows App SDK をデプロイするには、次の 2 つの方法があります。

  • フレームワークに依存する . アプリは、ターゲット コンピューターに存在する Windows App SDK ランタイムまたはフレームワーク パッケージに依存します。 フレームワークに依存するデプロイは、マシン リソースと保守容易性を効率的に使用するための Windows App SDK の既定の展開モードです。
  • 自己完結型です。 アプリには、Windows アプリ SDK の依存関係が含まれています。 自己完結型デプロイは、Windows App SDK 1.1 Preview 1 で導入された展開オプションです。

このトピックでは、 パッケージ アプリ外部の場所を持つパッケージ アプリ、パッケージ 化されていないアプリという用語も使用します。 これらの用語の説明については、「 デプロイの概要」を参照してください。

フレームワークに依存するデプロイ 自己完結型のデプロイ
長所 小規模な展開。 あなたのアプリとその依存関係のみが配布されます。 Windows App SDK ランタイムとフレームワーク パッケージは、パッケージ化されたフレームワークに依存するアプリによって自動的にインストールされます。または、外部の場所でパッケージ化されているか、パッケージ化されていないフレームワークに依存するアプリによって、Windows App SDK ランタイム インストーラーの一部として使用されます。

サービス可能。 Windows App SDK のサービス更新プログラムは、アプリの操作を必要とせずに、Windows App SDK Framework パッケージを介して自動的にインストールされます。
Windows App SDK のバージョンを制御します。 アプリで展開する Windows アプリ SDK のバージョンを制御します。 Windows App SDK のサービス更新プログラムは、アプリをリビルドして再配布しない限り、アプリに影響しません。

他のアプリから分離されています。 アプリとユーザーは、アプリ全体をアンインストールしないと、Windows App SDK の依存関係をアンインストールできません。

Xcopy 導入。 Windows App SDK の依存関係はアプリによって実行されるため、追加のインストール要件を必要とせずに、ビルド出力を xcopy で実行するだけでアプリをデプロイできます。
短所 追加のインストール依存関係。 Windows App SDK ランタイムまたはフレームワーク パッケージをインストールする必要があり、アプリのインストールが複雑になる可能性があります。

共有依存関係。 共有依存関係がアンインストールされるリスク。 共有コンポーネントをアンインストールするアプリまたはユーザーは、依存関係を共有する他のアプリのユーザー エクスペリエンスに影響を与える可能性があります。

互換性リスク。 Windows App SDK の更新プログラムにサービスを提供すると、重大な変更が発生するリスク。 サービス更新プログラムは下位互換性を提供する必要がある一方で、回帰が導入される可能性があります。
大規模なデプロイ (パッケージ化されていないアプリのみ)。 アプリには Windows App SDK が含まれているため、必要なダウンロード サイズとハード ドライブの領域は、フレームワークに依存するバージョンの場合よりも大きくなります。

パフォーマンス (パッケージ化されていないアプリのみ)。 コード ページは他のアプリと共有されないため、読み込みに時間がかかり、より多くのメモリを使用します。

サービス不可能。 アプリと共に配布される Windows App SDK のバージョンは、アプリの新しいバージョンをリリースすることによってのみ更新できます。 Windows App SDK のサービス更新プログラムをアプリに統合する責任があります。

また、「最初の WinUI 3 プロジェクトを作成する」と「既存のプロジェクトで Windows App SDK を使用する」参照してください。

フレームワークに依存するデプロイの詳細

フレームワークに依存するアプリを展開用に構成する前に、アプリが Windows App SDK を使用する場合の依存関係の詳細については、 Windows App SDK の展開アーキテクチャを確認してください。

パッケージ アプリ

フレームワークに依存するパッケージ アプリを使用することを選択した場合 (展開の概要を参照)、アプリを使用して Windows App SDK ランタイムをデプロイする方法については、次の手順に従います。

外部の場所またはパッケージ化されていないアプリでパッケージ化

外部の場所を持つフレームワーク依存パッケージ アプリまたはフレームワーク依存のパッケージ化されていないアプリ (展開の概要を参照) を使用することを選択した場合は、アプリを使用して Windows App SDK ランタイムをデプロイする手順を次に示します。

自己完結型デプロイの詳細

自己完結型アプリのについては、Windows App SDK の展開ガイド 参照してください。

Windows アプリ SDK を初期化する

Windows App SDK を初期化する方法は、アプリをパッケージ化するかどうか、どのようにパッケージ化するか、そして Windows App SDK ランタイムに対してどのようにデプロイするかによって異なります。 アプリに適用される以下のセクションを使用します。

パッケージ アプリ

アプリのデプロイ方法 初期化方法
フレームワークに依存 を参照してください デプロイの API を呼び出す
自己完結型 初期化は必要ありません。

パッケージ化されていないアプリと、外部の場所でパッケージ化されたアプリ

アプリのデプロイ方法 初期化方法
フレームワークに依存 外部の場所でパッケージ化されたアプリ、または未パッケージ化のアプリでブートストラップAPIを使用する場合は、を参照してください。
自己完結型 自動 UndockedRegFreeWinRT サポートのオプトアウト (または自動) の を参照してください。