パッケージ バージョンの番号付け

提供する各パッケージには、バージョン番号がある必要があります (アプリ マニフェストの Package/Identity 要素の Version 属性の値として提供されます)。 Microsoft Store ではバージョン番号に関する特定の規則が適用され、別の OS バージョンでは機能が多少異なります。

注意

このトピックでは「パッケージ」していますが、.msix/.appx および.msixbundle/.appxbundle ファイルの両方のバージョン番号に同じ規則が適用、記載されていない場合。

Windows 10 パッケージのバージョン番号付け

重要

Windows 10 (UWP) パッケージのバージョン番号の最後 (4 番目) のセクションはストア用に予約されておりままにしてする必要があります 0 (ただし、ストアでは、このセクションの値を変更可能性があります)、パッケージをビルドするとします。 その他のセクションでは、0 ~ 65535 (を除き、最初のセクションが 0 にすることはできません) の整数に設定する必要があります。

公開された申請から UWP パッケージを選択するとき、Microsoft Store は常にユーザーの Windows 10 デバイスに適用可能な最も高いバージョンのパッケージを使用します。 これにより高い柔軟性が与えられ、特定のデバイスの種類のユーザーにどのパッケージを提供するかを管理することができます。 重要なことに、これらのパッケージは任意の順序で申請することができます。後続の各申請でより高いバージョンのパッケージを提供する必要はありません。

同じバージョン番号を持つ複数の UWP パッケージを提供できます。 ただし、バージョン番号を共有するパッケージが同じアーキテクチャを持つことはできません。ストアで各パッケージに使用する完全な ID は一意である必要があるためです。 詳しくは、「Identity」をご覧ください。

同じバージョン番号を使用する複数の UWP パッケージを提供する場合は、どのランクがより高い場合、ストアは、ユーザーのデバイスに提供するには、どのパッケージを決定します) を決定するアーキテクチャ (x64、x86、ARM、ニュートラルの順番) が使用されます。 バージョン番号が同じアプリ バンドルにランクを付けるときは、x64 パッケージが含まれているアプリ バンドルが x86 パッケージしか含まれていないアプリ バンドルより高いランクとなるようにバンドル内で最高のアーキテクチャのランクを考慮します。

これにより、アプリを時間をかけて進化させる大きな柔軟性が与えられます。 ハードウェアまたは OS の機能を活用するためにより厳密な依存関係を持つより高いバージョンのパッケージを追加することができます。 が、アップロードし、小さいバージョン番号を使用して、以前サポートしていない Windows 10 デバイスのサポートを追加する新しいパッケージを提出できます。基本、既存の顧客の一部または全部に更新となるより高いバージョンのパッケージを追加できます。

次の例は、バージョン番号を管理して複数の申請でユーザーに目的のパッケージを提供する方法について説明します。

例: 複数の申請で 1 つのパッケージに移行する

Windows 10 をすべての場所で実行されること、単一のコードベースを記述することができます。 これにより、新しいクロスプラットフォーム プロジェクトの開始がはるかに簡単になります。 ただし、さまざまな理由から、既存のコードベースを結合してすぐに 1 つのプロジェクトを作成したくない場合があります。

パッケージのバージョンの規則を使用すると、暫定的な更新プログラム (windows 10 Api を利用するものを含む) 特定のデバイス ファミリの数値を配送先住所中には、ユニバーサル デバイス ファミリの 1 つのパッケージにお客様を徐々 に移行します。 次の例では、同じアプリの申請用の一連の間、同じ規則が一貫して適用されるしくみを示しています。

申請 内容 カスタマー エクスペリエンス
1 - パッケージ バージョン: 1.1.10.0
- デバイス ファミリ: Windows.Desktop、minVersion 10.0.10240.0

- パッケージ バージョン: 1.1.0.0
- デバイス ファミリ: Windows.Mobile、minVersion 10.0.10240.0
- Windows 10 デスクトップ ビルド 10.0.10240.0 以上のデバイスでは 1.1.10.0 を取得。
- Windows 10 Mobile ビルド 10.0.10240.0 以上のデバイスでは 1.1.0.0 を取得。
- その他のデバイス ファミリでアプリの購入とインストールを行うことはできない。
2 - パッケージ バージョン: 1.1.10.0
- デバイス ファミリ: Windows.Desktop、minVersion 10.0.10240.0

- パッケージ バージョン: 1.1.0.0
- デバイス ファミリ: Windows.Mobile、minVersion 10.0.10240.0

- パッケージ バージョン: 1.0.0.0
- デバイス ファミリ: Windows.Universal、minVersion 10.0.10240.0
- Windows 10 デスクトップ ビルド 10.0.10240.0 以上のデバイスでは 1.1.10.0 を取得。
- Windows 10 Mobile ビルド 10.0.10240.0 以上のデバイスでは 1.1.0.0 を取得。
- 導入されているその他の (非デスクトップ、非モバイル) デバイス ファミリでは 1.0.0.0 を取得。
- アプリが既にインストールされているデスクトップ デバイスとモバイル デバイスでは更新が表示されない (利用可能な最高のバージョンが既にあり、1.1.10.0 と 1.1.0.0 は共に 1.0.0.0 より上位であるため)。
3 - パッケージ バージョン: 1.1.10.0
- デバイス ファミリ: Windows.Desktop、minVersion 10.0.10240.0

- パッケージ バージョン: 1.1.5.0
- デバイス ファミリ: Windows.Universal、minVersion 10.0.10250.0

- パッケージ バージョン: 1.0.0.0
- デバイス ファミリ: Windows.Universal、minVersion 10.0.10240.0
- Windows 10 デスクトップ ビルド 10.0.10240.0 以上のデバイスでは 1.1.10.0 を取得。
- Windows 10 Mobile ビルド 10.0.10250.0 以上のデバイスでは 1.1.5.0 を取得。
- Windows 10 Mobile ビルド 10.0.10240.0 以上 10.010250.0 未満のデバイスでは 1.1.0.0 を取得。
4 - パッケージ バージョン: 2.0.0.0
- デバイス ファミリ: Windows.Universal、minVersion 10.0.10240.0
- Windows 10 ビルド v10.0.10240.0 以上のすべてのデバイス ファミリのすべてのユーザーはパッケージ 2.0.0.0 を取得。  

注意

  どの場合でも、ユーザーのデバイスでは条件を満たす最も大きいバージョン番号のパッケージを受け取ります。 たとえば、上記の 3 番目の申請では、OS バージョン 10.0.10250.0 以上で v1.1.5.0 を取得できる場合でも、すべてのデスクトップ デバイスが v1.1.10.0 を取得します。 1.1.10.0 は利用可能な最も大きいバージョン番号であるため、これが取得するパッケージになります。

新規の取得のためにバージョン番号を使用して以前配布したパッケージにロールバックする

パッケージのコピーを保持する場合にロールバックするアプリのパッケージ、ストアで以前の windows 10 パッケージ場合は、リリースに関する問題を検出する必要がありますオプションがあります。 これは、間、問題を修正する時間がかかることをユーザーに限定する一時的な方法です。

これを行うには、新しい申請を作成します。 問題があるパッケージを削除して、ストアで提供する以前のパッケージをアップロードします。 ロールバックするパッケージを既に受け取っているユーザーは問題のあるパッケージを持ったままになります (以前のパッケージのバージョン番号がより小さいため)。 しかし、これにより、ストアでアプリを利用できるようにした間にその他のユーザーが問題のあるパッケージを取得することができなくなります。

問題のあるパッケージを既に受信した顧客の問題を解決をすることがすぐに、問題のあるパッケージよりも大きいバージョン番号を持つ新しい windows 10 パッケージを提出することができます。 その申請の認定プロセスが完了すると、それがより大きいバージョン番号になるため、すべてのユーザーが新しいパッケージに更新されます。

バージョン番号付け Windows8.1 (以前) と Windows Phone 8.1 パッケージ

重要

2018 年 10 月 31 日の時点で、新しく作成した製品が Windows 8.x/Windows を対象とするパッケージを含めることはできません Phone 8.x 以前のバージョン。 詳しくは、このブログ記事を参照してください。

Windows Phone 8.1 を対象とする .appx パッケージでは、新しい申請のパッケージのバージョン番号は最後の申請 (または、以前の申請) に含まれるパッケージの番号より常に大きい必要があります。

アーキテクチャごとを Windows8 と Windows8.1 をターゲットとする .appx パッケージでは、同じ規則が適用されます。 新しい申請のパッケージのバージョン番号は最後に、同じアーキテクチャのストアに公開されたパッケージのより大きい常にある必要があります。

さらに、Windows8.1 パッケージのバージョン番号常に同じアプリ用の Windows8 パッケージのいずれかのバージョン番号より大きいである必要があります。 つまり、ユーザーが提出した Windows8 パッケージのバージョン番号は、同じアプリについて申請した Windows8.1 パッケージのバージョン番号よりも低いである必要があります。

注意

アプリでは、windows 10 パッケージもに、windows 10 パッケージのバージョン番号 Windows8 や Windows8.1、Windows Phone 8.1 パッケージのいずれかより大きい場合があります。 詳しくは、以前に公開されたアプリを windows 10 用の追加のパッケージを参照してください。

Windows8 と Windows8.1 を対象とするパッケージのさまざまなバージョン番号の更新シナリオで何が起きるの例をいくつかを示します。

ストア内のアプリのバージョン アップロードするバージョン 新しいバージョンが Microsoft Store にアップロードされた後の動作、新規インストールのバージョン 新しいバージョンが Microsoft Store にアップロードされた後の動作、既存のバージョンの更新
なし x86, v1.0.0.0 x86, v1.0.0.0 (x86 と x64 の両方のコンピューター) なし。
x86, v1.0.0.0 x64, v1.0.0.0 対応するアーキテクチャ用の v1.0.0.0 なし: バージョン番号は同じであるため。
x86, v1.0.0.0
x64, v1.0.0.0
x64, v1.0.0.1 x86 の場合は v1.0.0.0
x64 の場合は v1.0.0.1
アプリを x86 コンピューターで実行している場合はなし。
アプリを x64 コンピューターで実行している場合は v1.0.0.0 から v1.0.0.1 に更新。
注: 場合 x64 バージョンのアプリが実行されている x86 コンピューターで、アプリ、x64 に更新されませんバージョン アンインストールして再インストールしない限り、します。
なし neutral, v1.0.0.1 neutral, v1.0.0.1 (すべてのコンピューター) なし。
neutral, v1.0.0.1 x86, v1.0.0.0
x64, v1.0.0.0
ARM, v1.0.0.0
対応するアーキテクチャ用の v1.0.0.0 なし: neutral, v1.0.0.1 のアプリは引き続き使用される。
neutral, v1.0.0.1
x86, v1.0.0.0
x64, v1.0.0.0
ARM, v1.0.0.0
x86, v1.0.0.1
x64, v1.0.0.1
ARM, v1.0.0.1
対応するアーキテクチャ用の v1.0.0.1 neutral, v1.0.0.1 のアプリを実行している場合はなし。
特定のアーキテクチャ用の v1.0.0.0 のアプリを実行している場合は v1.0.0.0 から v1.0.0.1 に更新。
x86, v1.0.0.1
x64, v1.0.0.1
ARM, v1.0.0.1
x86, v1.0.0.2
x64, v1.0.0.2
ARM, v1.0.0.2
対応するアーキテクチャ用の v1.0.0.2 特定のアーキテクチャ用の v1.0.0.1 のアプリを実行している場合は v1.0.0.1 から v1.0.0.2 に更新。

注意

.appx パッケージとは異なり、.xap パッケージのバージョン番号は、特定の顧客にどのパッケージを提供するかを決める場合に考慮されません。 特定の .xap パッケージから新しいパッケージへと顧客を更新するには、新しい提出で以前の .xap を削除してください。