アプリ パッケージの形式App package formats

Windows アプリを含む標準の MSIX パッケージに加えて、特定のシナリオに便利な特殊な MSIX パッケージ形式がいくつかあります。In addition to standard MSIX packages that contain a Windows app, there are several different types of specialized MSIX package formats that are useful for certain scenarios.

オプション パッケージOptional packages

オプション パッケージは、アプリ パッケージの元の機能を補完または拡張するために使用されます。Optional packages are used to either supplement or extend the original functionality of an app package. アプリを公開した後に、しばらく経ってからオプション パッケージ公開したり、アプリとオプション パッケージの両方を同時に公開したりすることができます。It's possible to publish an app, followed by publishing optional packages at a later time, or to publish both the app and optional packages simultaneously. オプション パッケージを利用してアプリを拡張することによって、別のアプリ パッケージとしてコンテンツを配信して収益を得られるメリットがあります。By extending your app via an optional package, you have the advantages of distributing and monetizing content as a separate app package. オプション パッケージは一般的に、元のアプリ開発者によって開発されることを意図しています。それは、(アプリ拡張機能とは異なり) オプション パッケージがメイン アプリの ID を使用して実行されるためです。Optional packages are typically intended to be developed by the original app developer, since they run with the identity of the main app (unlike app extensions). オプション パッケージの定義方法に応じて、コード、アセット、またはコードとアセットの両方をオプション パッケージからメイン アプリに読み込むことができます。Depending on how you define your optional package, you can load code, assets, or code and assets from your optional package to your main app. 商業利用、ライセンス、および配布が可能なコンテンツを使用してアプリを拡張する必要がある場合は、オプションのパッケージが適切な選択肢になることがあります。If you need to enhance your app with content that can be monetized, licensed, and distributed separately, then optional packages might be the right choice for you.

詳細については、「オプションのパッケージ」と「関連するセットの作成」を参照してください。For more details, see Optional packages and related set authoring.

アプリ ストリーミング インストールApp streaming install

ストリーミングインストールは、アプリがユーザーにどのように配信されるかを最適化するための手段です。Streaming install is a way to optimize how your app is delivered to users. アプリ全体がダウンロードされるのを待ってからユーザーが使用できるようになるのではなく、必要な部分がダウンロードされた時点で、そのアプリを利用できます。Rather than waiting for the entire app to download before you can use it, users can engage with the app as soon as a required portion has been downloaded. 基本的なライセンス認証と起動に必要なセクションと、アプリの他の部分の追加コンテンツにアプリを分割するかどうかは、開発者の任意です。It's up to you, as a developer, to segment your app into a required section for basic activation and launch and additional content for the rest of the app.

詳細については、「アプリストリーミングインストール」を参照してください。For more details, see App streaming install.

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

フラットバンドルアプリケーションパッケージは、通常のアプリバンドルに似ています。ただし、フォルダー内のすべてのアプリパッケージを含めるのではなく、フラットバンドルにはこれらのアプリパッケージへの参照のみが含まれます。Flat bundle app packages are similar to regular app bundles, except that instead of including all of the app packages within the folder, the flat bundle only contains references to those app packages. ファイル自体ではなくアプリ パッケージへの参照を含めることで、フラット バンドルはアプリをパッケージ化してダウンロードするのにかかる時間を短縮します。By containing references to app packages instead of the files themselves, a flat bundle will reduce the amount of time it takes to package and download an app.

詳細については、「フラットバンドルアプリパッケージ」を参照してください。For more details, see Flat bundle app packages.

アセット パッケージAsset packages

アセットパッケージは、実行可能ファイルの共通の一元化されたソースであり、アプリで使用する実行可能ファイルではありません。Asset packages are a common, centralized source of executable, or non-executable files for use by your app. これらは通常、非プロセッサまたは言語固有のファイルです。These are typically non-processor or language-specific files. たとえば、1 つのアセット パッケージの画像のコレクション、および別のアセット パッケージのビデオが含まれる可能性があります。両方ともアプリで使用されます。For example, this might include a collection of pictures in one asset package, and videos in another asset package, both of which are used by the app. アプリが複数のアーキテクチャと複数の言語をサポートしている場合、これらの資産はアーキテクチャパッケージまたはリソースパッケージに含めることができますが、これにより、資産がさまざまなアーキテクチャパッケージ間で複数回複製されることもあります。ディスク領域が不足しています。If your app supports multiple architectures and multiple languages, these assets could be included in the architecture package or resource package, but that also means the assets would be duplicated multiple times across the various architecture packages, taking up disk space. アセット パッケージを使用している場合は、アプリ パッケージ全体に 1 回のみ含める必要があります。If asset packages are used, they only need to be included in the overall app package once.

詳細については、「資産パッケージの概要」を参照してください。For more details, see Introduction to asset packages.

リソース パッケージResource packages

リソース パッケージは、アプリで複数のディスプレイ サイズとシステム言語に対応できるようにするアセットのみのパッケージです。Resource packages are asset-only packages that allow your app to adapt to multiple display sizes and system languages. リソース パッケージは、ユーザー言語、システム スケール、および DirectX 機能をターゲットにしており、さまざまなユーザー シナリオに合わせてアプリを調整できます。The resource package targets user language, system scale, and DirectX features, allowing the app to be tailored to a variety of user scenarios. アプリ パッケージには複数のリソースが含まれている可能性がありますが、OS はユーザー デバイスごとに適切なリソースだけをダウンロードするため、帯域幅とディスク領域が節約されます。Although an app package can contain several resources, the OS will only download the relevant resources per user device, saving bandwidth and disk space.

アプリの拡張機能App extensions

アプリ拡張機能を使用すると、他のアプリによって提供されるコンテンツをアプリでホストできます。App extensions enable your app to host content provided by other apps. それらのアプリの読み取り専用コンテンツを検出、列挙し、アクセスすることもできます。Discover, enumerate, and access read-only content from those apps.

拡張機能がアプリでサポートされている場合、開発者はだれでもそのアプリの拡張機能を提出できます。If an app supports extensions, any developer can submit an extension for the app. したがって、ホスト アプリは事前にテストされていない拡張機能を読み込む際に、堅牢であることが求められます。Thus, the host app needs to be robust when it loads an extension that it hasn't been pre-tested with. 拡張機能は信頼できないと見なされる必要があります。Extensions should be considered untrusted.

アプリケーションで拡張機能のコードを読み込むことはできません。Applications cannot load code from extensions. コードを実行する必要がある場合は、app services を検討してください。If you need code execution, consider app services.

App ServicesApp Services

Windows app services では、アプリから別のアプリにサービスを提供できるようにすることで、アプリ間の通信を有効にします。Windows app services enable app-to-app communication by allowing your app to provide services to another app. アプリ サービスでは、同じデバイス上のアプリから呼び出せる UI を持たないサービスを作成できます。また、Windows 10 バージョン 1607 以降では、リモート デバイスからも呼び出せます。App services let you create UI-less services that apps can call on the same device, and starting with Windows 10, version 1607, on remote devices. 詳しくは、「アプリ サービスの作成と利用」をご覧ください。See Create and consume an app service for details.

App services は、デバイス上の web サービスに似ています。App services are analogous to web services on a device. アプリ サービスは、バック グラウンド タスクとしてホスト アプリで実行され、そのサービスを他のアプリに提供することができます。An app service runs as a background task in the host app and can provide its service to other apps. たとえば、アプリ サービスによって、他のアプリで使用できるバー コード スキャナー サービスが提供される場合があります。For example, an app service might provide a bar code scanner service that other apps could use. また、アプリのエンタープライズ スイートに共通のスペル チェック アプリ サービスを備えておき、そのサービスを同じスイート内の他のアプリから利用可能にする場合もあるでしょう。Or perhaps an Enterprise suite of apps has a common spell checking app service that is available to the other apps in the suite.

パッケージの変更Modification packages

変更パッケージを使用すると、IT 担当者は再パッケージ化せずにアプリをカスタマイズできます。Modification packages allow IT Pros to customize apps without having to repackage. Windows 10 バージョン1809では、変更パッケージと呼ばれる新しい種類の msix パッケージが導入されました。In Windows 10 version 1809 we introduced a new type of MSIX package called a modification package. 変更パッケージは、ライセンス認証ポイントがない可能性のあるプラグイン/アドオンでもかまいません。Modification packages can also be plugins/add-ons that may not have an activation point. IT プロフェッショナルはこの機能を使用して、企業のカスタマイズによってアプリケーションがオーバーレイされるように、MSIX コンテナーを柔軟に変更できます。IT professionals can use this feature to flexibly change MSIX containers so that applications are overlaid by their enterprise's customizations.

参照See Also

App Service の作成と利用Create and consume an app service
資産パッケージの概要Introduction to asset packages
パッケージ化レイアウトを使用したパッケージの作成Package creation with the packaging layout
オプション パッケージと関連セットの作成Optional packages and related set authoring
資産パッケージとパッケージの圧縮による開発Developing with asset packages and package folding
アプリストリーミングインストールApp streaming install
フラットバンドルアプリパッケージFlat bundle app packages
AppService 名前空間Windows.ApplicationModel.AppService namespace
Windows. ApplicationModel. Extensions 名前空間Windows.ApplicationModel.Extensions namespace