アプリ パッケージ管理のガイダンス

アプリのパッケージをユーザーが使用できるようになるしくみと、特定のパッケージ シナリオを管理する方法について説明します。

OS のバージョンとパッケージの配布

さまざまなオペレーティング システムで異なる種類のパッケージを実行できます。 ユーザーのデバイスで複数のパッケージを実行できる場合、Windows ストアは使用可能な最適のパッケージを提供します。

一般に、新しい OS バージョンでは、同じデバイス ファミリの以前の OS バージョンを対象にしたパッケージを実行できます。 ただし、それらのパッケージが取得されるのは、現在の OS バージョンを対象にしたパッケージがアプリに含まれない場合に限られます。

たとえば、Windows 10 デバイスでは、(デバイス ファミリごとに) サポートされている以前の OS のバージョンをすべて実行できます。 Windows 10 のデスクトップ デバイスでは Windows 8.1 または Windows 8 用に構築されたアプリを実行でき、Windows 10 のモバイル デバイスでは Windows Phone 8.1、Windows Phone 8、さらには Windows Phone 7.x 用に構築されたアプリまで実行できます。

次の例では、さまざまな OS のバージョンを対象にしたパッケージを含むアプリについてさまざまなシナリオを説明します。 場合によっては、パッケージ特有の制約によって、ここに示したすべての OS バージョンとデバイスの種類で実行できないことがありますが (アーキテクチャが特定のものである必要がある場合など)、これらの例は特定のパッケージを実行できるのはどの OS バージョンかを理解するために役立ちます。

アプリ例 1

パッケージの対象オペレーティング システム このパッケージを取得するオペレーティング システム
Windows 8.1 Windows 10 デスクトップ デバイス、Windows 8.1
Windows Phone 8.1 Windows 10 モバイル デバイス、Windows Phone 8.1
Windows Phone 8 Windows Phone 8
Windows Phone 7.1 Windows Phone 7.x

アプリ例 1 のアプリには Windows 10 デバイス用に特別に構築されたユニバーサル Windows プラットフォーム (UWP) パッケージがまだありませんが、Windows 10 のユーザーはこのアプリを入手できます。 ユーザーはデバイスの種類に応じて使用できる最適なパッケージを取得します。

アプリ例 2

パッケージの対象オペレーティング システム このパッケージを取得するオペレーティング システム
Windows 10 (ユニバーサル デバイス ファミリ) Windows 10 (すべてのデバイス ファミリ)
Windows 8.1 Windows 8.1
Windows Phone 8.1 Windows Phone 8.1
Windows Phone 7.1 Windows Phone 7.x、Windows Phone 8

アプリ例 2 では、Windows 8 で実行可能なパッケージはありません。 他のすべての OS バージョンを実行しているユーザーは、アプリを入手できます。

アプリ例 3

パッケージの対象オペレーティング システム このパッケージを取得するオペレーティング システム
Windows 10 (デスクトップ デバイス ファミリ) Windows 10 デスクトップ デバイス
Windows Phone 8 Windows 10 モバイル デバイス、Windows Phone 8、Windows Phone 8.1

アプリ例 3 では、モバイル デバイス ファミリを対象にした UWP パッケージがないため、Windows 10 モバイル デバイスのユーザーは Windows Phone 8 パッケージを取得することになります。 モバイル デバイス ファミリ (またはユニバーサル デバイス ファミリ) を対象とするパッケージがこのアプリに後で追加される場合、Windows Phone 8 パッケージの代わりにそのパッケージが Windows 10 モバイル デバイスのユーザーに提供されます。

また、このアプリ例には Windows 7.x で実行可能なパッケージが含まれていない点にも注目してください。

アプリ例 4

パッケージの対象オペレーティング システム このパッケージを取得するオペレーティング システム
Windows 10 (ユニバーサル デバイス ファミリ) Windows 10 (すべてのデバイス ファミリ)

アプリ例 4 では、Windows 10 を実行しているデバイスではアプリを入手することができますが、以前の OS バージョンのユーザーは利用できません。 UWP パッケージはユニバーサル デバイス ファミリを対象にしているため、デスクトップとモバイルの両方の Windows 10 デバイスで使用できます。

以前に公開したアプリに Windows 10 用のパッケージを追加する

ストアに Windows 8.x や Windows Phone 8.x を対象とするアプリがあり、Windows 10 用にアプリを更新する場合、「パッケージ」の手順で、新しい申請を作成し、UWP の .appxupload パッケージを追加します。 アプリが認定プロセスに合格すると、既にアプリを所有していたユーザーは、ストアから更新プログラムとして UWP パッケージを取得できます。 この UWP パッケージは、Windows 10 のユーザーが新規の取得として利用することもできます。

重要 Windows 10 のユーザーが UWP パッケージを取得した後は、以前の OS バージョン用のパッケージを使用するようにそのユーザーをロールバックすることはできません。 申請に追加する前に、Windows 10 で UWP パッケージを十分にテストしたことを確認します。

その他のパッケージを同時に更新したり、申請にその他の変更を加えたりすることもできます (たとえば、以前の OS バージョンのユーザーに表示するために、プラットフォーム固有の説明を作成することができます)。 必要に応じて、その他すべてをまったく同じにすることもできます。

Windows 10 パッケージのバージョン番号は、同じアプリについて公開中の Windows 8、Windows 8.1、Windows Phone 8.1 のパッケージ (または前に公開したこれらの OS バージョンのパッケージ) のバージョン番号より大きい必要があります。 詳しくは、「パッケージ バージョンの番号付け」をご覧ください。

新しい申請が認定プロセスを完了すると、Windows 10 を利用していないユーザーが使用できるようにしたその他のパッケージと共に、UWP パッケージが使用できるようになります。

ストア用の UWP アプリのパッケージ化について詳しくは、「Windows 10 用ユニバーサル Windows アプリのパッケージ化」をご覧ください。

重要 ユニバーサル デバイス ファミリを対象にしたパッケージを提供している場合、以前のオペレーティング システム (Windows Phone 8、Windows 8.1 など) で既にアプリを持っていて Windows 10 にアップグレードするユーザーは、Windows 10 パッケージに更新されることに注意してください。

これは、申請の「デバイス ファミリの利用可否」の手順で特定のデバイス ファミリを除外していた場合にも当てはまります。[デバイス ファミリの利用可否] の選択は新規の利用者にしか適用されないためです。 以前のすべてのユーザーに新しい Windows 10 パッケージを取得させることを避けたい場合は、サポート対象の特定のデバイス ファミリのみを含めるように appx マニフェストの TargetDeviceFamily 要素を更新する必要があります。

たとえば、Windows 10 にアップグレードした Windows 8 と Windows 8.1 のユーザーだけが UWP アプリを取得し、Windows Phone 8.1 以前のユーザーには以前の (Windows Phone 8 または Windows Phone 8.1 を対象にした) パッケージのままにするとします。 これを行うには、appx マニフェストの TargetDeviceFamily を、Microsoft Visual Studio の既定の appx マニフェストに含まれる Windows.Universal 値 (ユニバーサル デバイス ファミリ用) のままにするのではなく、Windows.Desktop (デスクトップ デバイス ファミリ用) のみを含むように更新する必要があります。 ユニバーサル デバイス ファミリまたはモバイル デバイス ファミリ (Windows.Universal または Windows.Universal) のどちらかを対象にした UWP パッケージは申請しないでください。 この場合、Windows 10 Mobile のユーザーが UWP パッケージを取得することはなくなります。

デバイス ファミリについて詳しくは、「ユニバーサル Windows プラットフォーム (UWP) アプリのガイド」をご覧ください。

Windows Phone 8.1 に対するパッケージの互換性を維持する

Windows Phone 8.1 用に以前公開されていたアプリを更新する場合、パッケージの種類に関する特定の要件が適用されます。

  • アプリに公開済みの Windows Phone 8.1 パッケージがある場合、それ以降のすべての更新にも Windows Phone 8.1 パッケージを含める必要があります。
  • アプリに公開済みの Windows Phone 8.1 XAP がある場合、それ以降の更新には Windows Phone 8.1 XAP、Windows Phone 8.1 appx、Windows Phone 8.1 appxbundle のいずれかが含まれている必要があります。
  • アプリに公開済みの Windows Phone 8.1 .appx がある場合、それ以降の更新には Windows Phone 8.1 .appx または Windows Phone 8.1 .appxbundle が含まれている必要があります。 つまり、Windows Phone 8.1 XAP は認められません。 これは、Windows Phone 8.1 .appx を含む .appxupload にも適用されます。
  • アプリに公開済みの Windows Phone 8.1 .appxbundle がある場合、それ以降の更新にも Windows Phone 8.1 .appxbundle を含める必要があります。 つまり、Windows Phone 8.1 XAP または Windows Phone 8.1 .appx は認められません。 これは、Windows Phone 8.1 .appxbundle を含む .appxupload にも適用されます。

これらの規則に従わない場合、パッケージのアップロード エラーとなり申請を完了できません。

アプリをストアから削除する

ユーザーへのアプリの提供を完全に停止し、事実上 "非公開" にする必要が生じることがあります。 これを行うには、[アプリの概要] ページで [アプリの提供を停止する] をクリックします。 アプリを入手不可にすることを確認した後、数時間以内にストアに表示されなくなり、プロモーション コードを含むどのような方法を使っても新しいユーザーが入手することができなくなります。

重要 これは、提出時に選んだ配布と表示の設定よりも優先されます。

アプリを既に持っているユーザーは使用し続けることができることに注意してください (後で新しいパッケージを申請した場合には更新プログラムを入手することもできます)。

アプリを入手不可にした後も、ダッシュボードには引き続き表示されます。 アプリをもう一度ユーザーに提供する場合は、[アプリの概要] ページで [アプリを提供する] をクリックします。 確認後、数時間以内に新しいユーザーがアプリを入手できるようになります (前回の申請時の設定により制限されている場合を除く)。

アプリの提供は継続するものの、特定の OS バージョンのユーザーには提供を継続しない場合は、新しい提出を作成して、新しい取得を許可しない OS バージョン用のパッケージをすべて削除できます。 たとえば、以前に Windows Phone 8、Windows Phone 8.1、Windows 10 用のパッケージを提供しており、Windows Phone 8 の新しいユーザーにはアプリの提供を継続しない場合は、申請から Windows Phone 8 用のパッケージを削除します。 更新プログラムの公開後、Windows Phone 8 で新しいユーザーはアプリを入手できなくなります (ただし、ユーザーが既に取得している場合は使い続けることができます)。 Windows Phone 8.1 および Windows 10 では、新しいユーザーはこのアプリを取得できます。

これまでサポートされていたデバイス ファミリ用のパッケージを削除する

これまでアプリでサポートされていた特定のデバイス ファミリ用のパッケージをすべて削除する場合、[パッケージ] ページでの変更を保存する前に、この削除を実行してもよいかどうかを確認するメッセージが表示されます。

これまでアプリでサポートされていたデバイス ファミリ用のパッケージを削除する申請を発行すると、新しいユーザーは、そのデバイス ファミリでアプリを入手することができなくなります。 そのデバイス ファミリ向けのパッケージを提供するための別の更新プログラムは、後でいつでも公開することができます。

特定のデバイス ファミリをサポートするパッケージをすべて削除した場合でも、該当する種類のデバイスにアプリを既にインストールしているユーザーは、そのアプリを使うことができますが、後で提供される更新プログラムを入手することになります。