アプリ パッケージの形式

Windows アプリを含む標準的な MSIX パッケージに加えて、特定のシナリオに役立つさまざまな種類の特殊な MSIX パッケージ形式もあります。

オプション パッケージ

オプション パッケージは、アプリ パッケージの元の機能を補完または拡張するために使用されます。 アプリを公開した後に、しばらく経ってからオプション パッケージ公開したり、アプリとオプション パッケージの両方を同時に公開したりすることができます。 オプション パッケージを利用してアプリを拡張することによって、別のアプリ パッケージとしてコンテンツを配信して収益を得られるメリットがあります。 オプション パッケージは一般的に、元のアプリ開発者によって開発されることを意図しています。それは、(アプリ拡張機能とは異なり) オプション パッケージがメイン アプリの ID を使用して実行されるためです。 オプション パッケージの定義方法に応じて、コード、アセット、またはコードとアセットの両方をオプション パッケージからメイン アプリに読み込むことができます。 個別に収益化、ライセンス付与、および配信できるコンテンツでアプリを強化する必要がある場合は、オプション パッケージが適していることがあります。

詳細については、「オプション パッケージと関連セットの作成」を参照してください。

アプリ ストリーミング インストール

ストリーミング インストールは、ユーザーにアプリを配信する方法を最適化する手段です。 アプリ全体がダウンロードされるのを待ってからユーザーが使用できるようになるのではなく、必要な部分がダウンロードされた時点で、そのアプリを利用できます。 基本的なライセンス認証と起動に必要なセクションと、アプリの他の部分の追加コンテンツにアプリを分割するかどうかは、開発者の任意です。

詳細については、「アプリ ストリーミング インストール」を参照してください。

フラット バンドル パッケージ

フラット バンドル アプリ パッケージは標準のアプリ バンドルに似ていますが、フォルダー内にすべてのアプリ パッケージが含まれているのではなく、フラット バンドルにはそれらのアプリ パッケージへの参照のみ含まれる点が異なります。 ファイル自体ではなくアプリ パッケージへの参照を含めることで、フラット バンドルはアプリをパッケージ化してダウンロードするのにかかる時間を短縮します。

詳細については、「フラット バンドル アプリ パッケージ」を参照してください。

アセット パッケージ

アセット パッケージは、アプリで使用される実行可能ファイルまたは非実行可能ファイルの一般的な一元化されたソースです。 これらは、通常、非プロセッサまたは言語固有のファイルです。 たとえば、1 つのアセット パッケージの画像のコレクション、および別のアセット パッケージのビデオが含まれる可能性があります。両方ともアプリで使用されます。 アプリで複数のアーキテクチャと複数の言語をサポートする場合、これらのアセットはアーキテクチャ パッケージまたはリソース パッケージに含まれる可能性がありますが、これは、さまざまなアーキテクチャ パッケージ間でアセットが複数回複製され、ディスク領域を占有することも意味します。 アセット パッケージを使用している場合は、アプリ パッケージ全体に 1 回のみ含める必要があります。

詳細については、「アセット パッケージの概要」を参照してください。

リソース パッケージ

リソース パッケージは、アプリで複数のディスプレイ サイズとシステム言語に対応できるようにするアセットのみのパッケージです。 リソース パッケージは、ユーザー言語、システム スケール、および DirectX 機能をターゲットにしており、さまざまなユーザー シナリオに合わせてアプリを調整できます。 アプリ パッケージには複数のリソースが含まれている可能性がありますが、OS はユーザー デバイスごとに適切なリソースだけをダウンロードするため、帯域幅とディスク領域が節約されます。

MSIX バンドル

MSIX バンドルは、複数の MSIX パッケージで構成されているため、ユーザーがダウンロードするアプリのサイズを小さくすることができます。 これらは、各種アーキテクチャ、言語固有のアセット、さまざまな画像スケールのアセット、または特定のデバイスに適用されるリソースに役立ちます。 アプリケーションの複数のアーキテクチャ バージョンを 1 つのエンティティにバンドルすることで、このバンドルを (アーキテクチャごとに用意する代わりに) 配布場所にアップロードするだけで済みます。 Windows 10 の展開プラットフォームによって .msixbundle パッケージ タイプが認識され、デバイスのアーキテクチャに適用可能なファイルのみがダウンロードされます。 特定のアプリ用に .msixbundle を配布することにした場合、MSIX パッケージのみの配布に戻すことはできません。

アプリの拡張機能

アプリの拡張機能を使用すると、アプリでは、他のアプリから提供されるコンテンツをホストすることができます。 それらのアプリの読み取り専用コンテンツを検出、列挙し、アクセスすることもできます。

拡張機能がアプリでサポートされている場合、開発者はだれでもそのアプリの拡張機能を提出できます。 したがって、ホスト アプリは事前にテストされていない拡張機能を読み込む際に、堅牢であることが求められます。 拡張機能は信頼できないと見なされる必要があります。

アプリケーションで拡張機能のコードを読み込むことはできません。 コードの実行が必要な場合は、アプリ サービスを検討してください。

アプリケーション サービス

Windows アプリ サービスでは、お使いのアプリから別のアプリにサービスを提供できるようにすることで、アプリ間通信を実現します。 アプリ サービスでは、同じデバイス上のアプリから呼び出せる UI を持たないサービスを作成できます。また、Windows 10 バージョン 1607 以降では、リモート デバイスからも呼び出せます。 詳しくは、「アプリ サービスの作成と利用」をご覧ください。

アプリ サービスは、デバイス上の Web サービスに似ています。 アプリ サービスは、バック グラウンド タスクとしてホスト アプリで実行され、そのサービスを他のアプリに提供することができます。 たとえば、アプリ サービスによって、他のアプリで使用できるバー コード スキャナー サービスが提供される場合があります。 また、アプリのエンタープライズ スイートに共通のスペル チェック アプリ サービスを備えておき、そのサービスを同じスイート内の他のアプリから利用可能にする場合もあるでしょう。

パッケージの変更

修正パッケージを使用すると、IT 担当者は再パッケージ化することなく、アプリをカスタマイズできます。 Windows 10 Version 1809 では、"修正パッケージ" と呼ばれる新しい種類の MSIX パッケージが導入されました。 修正パッケージは、ライセンス認証ポイントを持たないプラグインまたはアドオンになる場合もあります。 IT 担当者は、アプリケーションが企業のカスタマイズでオーバーレイされるように、この機能を使用して MSIX コンテナーを柔軟に変更することができます。

参照

App Service の作成と利用
アセット パッケージの概要
パッケージ レイアウトを使ったパッケージの作成
オプション パッケージと関連セットの作成
アセット パッケージとパッケージ圧縮を使った開発
アプリ ストリーミング インストール
フラット バンドル アプリ パッケージ
Windows.ApplicationModel.AppService 名前空間
Windows.ApplicationModel.Extensions 名前空間