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

提供する各パッケージにはバージョン番号が必要です (アプリマニフェストの Version 属性のPackage/Identity 属性の値として提供される)。 マイクロソフトストアでは、バージョン番号に関する一定のルールが適用されるが、これはOSのバージョンによって多少異なる。

メモ

このトピックは "パッケージ" について説明していますが、特に記載のない限り、.msix/.appx ファイルと .msixbundle/.appxbundle ファイルのバージョン番号にも同じ規則が適用されます。

Windows 10 および 11 パッケージのバージョン番号

重要

Windows10またはWindows11(UWP)パッケージの場合、バージョン番号の最後の(4)セクションはストアで使用するために予約されており、パッケージをビルドするときに0として残っていなければならない(ストアはこのセクションで値を変更するかもしれない)。 その他のセクションは 0 から 65535 の整数に設定する必要があります (最初のセクションを除く。これは 0 にできません)。

公開された提出物からuwpパッケージを選択する場合、マイクロソフトストアは常に顧客のWindows10またはWindows11デバイスに適用できる最高バージョンのパッケージを使用する。 これにより、柔軟性が高まり、特定のデバイスタイプでどのパッケージを顧客に提供するかをコントロールできるようになる。 注意、あなたはこれらのパッケージをどのような順序でも提出することができるということです;あなたは後続の提出ごとに、より高いバージョンのパッケージを提供することに限定されない。

同じバージョン番号を持つ複数の UWP パッケージを提供することができます。 ただし、バージョン番号を共有するパッケージは、同じアーキテクチャを持つことはできません。なぜなら、ストアが各パッケージに使用する完全なIDは、一意でなければならないからである。 詳細については、アイデンティティを参照する。

同じバージョン番号を使用する複数のuwpパッケージを提供する場合、アーキテクチャ(x64、x86、アーム、中立)を使用し、どれが上位であるかを決定する(ストアがお客様のデバイスに提供するパッケージを決定する場合)。 同じバージョン番号を使用するアプリバンドルをランク付けする場合、バンドル内で最も高いアーキテクチャランクが考慮される:x64パッケージが含まれているアプリバンドルは、x86パッケージのみが含まれているアプリバンドルよりも高いランクを持つことになる。

これにより、時間の経過とともにアプリを柔軟に進化させることができる。 以前にサポートしなかった Windows 10 または Windows 11 デバイスへのサポートを追加するために、下位バージョンを使用する新しいパッケージをアップロードして提出したり、ハードウェアまたは OS の機能を活用するために依存性が厳しい上位バージョンのパッケージを追加したり、既存の顧客基盤の一部またはすべてにアップデートとして機能する上位バージョンのパッケージを追加したりすることができる。

次の例は、バージョン番号を管理することで、複数回の送信にわたって意図したパッケージを顧客に提供する方法を示す。

例 複数回に分けて単一パッケージに移行する

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

パッケージのバージョニングルールを使用して、顧客をUniversalデバイスファミリ用の単一パッケージに徐々に移行させながら、特定のデバイスファミリ (Windows 10 APIを利用するものを含む) 用の多数の中間アップデートを出荷することができる。 次の例では、同じアプリの一連の申請に対して、同じ規則を一貫して適用する方法を示しています。

送信 内容 顧客エクスペリエンス
1 - パッケージ バージョン: 1.1.10.0
- デバイス ファミリ: Windows.Desktop、minVersion 10.0.10240.0
- Windows 10 および 11 デスクトップ ビルド 10.0.10240.0 以上のデバイスでは 1.1.10.0 を取得
- その他のデバイス ファミリでアプリの購入とインストールを行うことはできない
2 - パッケージ バージョン: 1.1.10.0
- デバイス ファミリ: Windows.Desktop、minVersion 10.0.10240.0

- パッケージ バージョン: 1.0.0.0
- デバイス ファミリ: Windows.Universal、minVersion 10.0.10240.0
- Windows 10 および 11 デスクトップ ビルド 10.0.10240.0 以上のデバイスでは 1.1.10.0 を取得
- 導入されているその他の (非デスクトップ) デバイス ファミリでは 1.0.0.0 を取得
- アプリが既にインストールされているデスクトップ デバイスでは更新が表示されない (利用可能な最高のバージョンが既にあり、1.1.10.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 および 11 デスクトップ ビルド 10.0.10240.0 以上のデバイスでは 1.1.10.0 を取得
- ビルド 10.0.10250.0 以降で導入された他の (デスクトップ以外の) デバイス ファミリは、1.1.5.0 になります
- ビルド >=10.0.10240.0 and < 10.010250.0 で導入された場合、その他の (デスクトップ以外の) デバイス ファミリは 1.1.0.0 になります
- アプリが既にインストールされているデスクトップ デバイスでは更新が表示されない (利用可能な最高のバージョン 1.1.10.0 があり、これは、1.1.5.0 と 1.0.0.0 より上位であるため)
4 - パッケージ バージョン: 2.0.0.0
- デバイス ファミリ: Windows.Universal、minVersion 10.0.10240.0
- Windows 10 および 11 ビルド v10.0.10240.0 以上のすべてのデバイス ファミリのすべての顧客はパッケージ 2.0.0.0 を取得

メモ

 すべての場合において、顧客の機器は彼らが対象とする最も高いバージョン番号を持つパッケージを受け取ることになる。 例えば、上記の3番目の提出では、OSバージョンが10.0.10250.0以降であっても、すべてのデスクトップ機器は1.1.10.0バージョンを受け取ることになるので、1.1.5.0バージョンも受け入れることができる。 1.1.10.0が彼らに利用可能な最も高いバージョン番号であるため、それが彼らが入手するパッケージとなる。

バージョン番号を使用して、新規購入のために以前に出荷されたパッケージにロールバックする。

パッケージのコピーを維持する場合は、リリースに関する問題が見つかった場合にストア内のアプリのパッケージを以前の Windows 10 パッケージにロールバックすることができます。 これは、問題を修正する間の顧客の中断を限定するための一時的な方法です。

このためには、新しい申請を作成します。 問題のあるパッケージを削除し、ストアで提供したい古いパッケージをアップロードする。 あなたがロールバックしようとしているパッケージをすでに受け取っている顧客は、問題のあるパッケージをまだ持っている (あなたの古いパッケージには以前のバージョン番号があるため)。 しかし、これにより、他の人が問題のあるパッケージを取得することを防ぎ、アプリを依然としてストアで使用できるようにする。

問題があるパッケージを既に受信した顧客の問題を解決するためには、できるだけ早く問題のあるパッケージよりも大きいバージョン番号を持つ新しい Windows 10 パッケージを申請することです。 その提出物が認証プロセスを通過した後、すべての顧客は新しいパッケージにアップデートされる。

パッケージバージョンのナンバリングは、インストーラで管理でる。 ストアを通じては、Win32のパッケージバージョン番号が提供されていない。

重要

パッケージのバージョン番号は、アプリのアドオンではサポートされていない。