MSIX アプリのアプリ パッケージ要件
要件
以下のガイドラインに従って、Microsoft Storeに提出するアプリのパッケージを準備してください。
マイクロソフトストア用にアプリのパッケージを作成する前に
で、Windowsアプリ認証キットアプリを必ずテストしてください。 また、さまざまな種類のハードウェアでアプリをテストすることをお勧めする。 注意、アプリを認証し、マイクロソフトストアで使用できるようにするまでは、開発者ライセンスがあるコンピュータにのみインストールして実行することができる。
Microsoft Visual Studioを使ってアプリ・パッケージをビルドする
マイクロソフトビジュアルスタジオを開発環境として使用している場合、アプリパッケージを迅速かつ簡単に作成できるようにするツールがすでに内蔵されている。 詳細については、「アプリのパッケージ化」を参照してください。
メモ
すべてのファイル名にANSIが使われていることを確認してください。
Visual Studio でパッケージを作成する際、開発者アカウントと同じアカウントでサインインしていることを確認してください。 パッケージ・マニフェストの一部には、お客様のアカウントに関連する特定の詳細が記載されている。 この情報は自動的に感知されて追加された。 マニフェストに追加情報がなければ、パッケージのアップロードに失敗する可能性がある。
アプリの UWP パッケージをビルドするとき、Visual Studio では .msix または appx ファイルを作成するか、.msixupload または .appxupload ファイルを作成できます。 UWP アプリの場合、[パッケージ] ページで .msixupload または .appxupload ファイルを常にアップロードすることをお勧めします。 ストア向けのUWPアプリのパッケージ化に関する詳細については、Visual Studioで のUWPアプリをパッケージ化するを参照してください。
アプリのパッケージは、信頼できる認証局に根ざした証明書で署名する必要はない。
アップバンドル
UWP アプリの場合、Visual Studio ではアプリ バンドル (.msixbundle または .appxbundle) を生成し、ユーザーがダウンロードするアプリのサイズを減らすことができます。 これによりは、言語別の資産、さまざまなイメージ規模の資産、またはマイクロソフトダイレクトXの特定バージョンに適用されるリソースを定義した場合に役立つことができる。
メモ
一つのアプリバンドルに、すべてのアーキテクチャのパッケージを含めることができる。
アプリバンドルでは、ユーザーは可能な限りのリソースをダウンロードするのではなく、関連するファイルのみをダウンロードする。 アプリバンドルについての詳細は、 パッケージングアプリとVisualStudioでUWPアプリのパッケージ化を参照する。
アプリ・パッケージを手動で構築する
Visual Studio を使ってパッケージを作成しない場合は、パッケージマニフェストを手動で作成する。
完全なマニフェストの詳細および要件については、必ず のApp パッケージ・マニフェストドキュメントを確認してください。 認証に合格するためには、マニフェストはパッケージ・マニフェスト・スキーマに従う必要がある。
マニフェストには、アカウントとアプリに関する特定の情報が含まれる必要がある。 この情報は、ダッシュボードの [アプリ概要] ポップアップにある [製品管理] セクションの[アプリ ID 詳細を表示] で確認できます。
メモ
マニフェストの値は大文字小文字を区別する。 スペースやその他の句読点も一致していなければならない。 慎重に値を入力し、正しい値であることを確認する。
アプリ バンドル (.msixbundle または .appxbundle) では別のマニフェストを使用します。 アプリバンドルマニフェストの詳細と要件については、バンドルマニフェストドキュメントを確認してください。 .msixbundle または .appxbundle では、含まれる各パッケージのマニフェストで、Identity 要素の ProcessorArchitecture 属性を除き、同じ要素と属性を使用する必要があることにご留意ください。
ヒント
パッケージを提出する前に、必ずのWindowsアプリ認定キットを実行してください。 これにより、あなたのマニフェストに認証や提出の失敗の原因となるような問題がないかどうかを判断することができる。
パッケージのフォーマット要件
アプリのパッケージは、これらの要件に準拠している必要がある。
アプリパッケージのプロパティ | 要件 |
---|---|
パッケージのサイズ | .msixbundle または .appxbundle: バンドルごとに最大 25 GB Windows 10 または Windows 11 を対象とする .msix または .appx パッケージ: パッケージごとに最大 25 GB |
ブロック・マップ・ハッシュ | SHA2-256アルゴリズム |
サポートされているバージョン
UWP アプリの場合、すべてのパッケージは Microsoft Store によりサポートされている Windows 10 または Windows 11 のバージョンをターゲットとする必要があります。 パッケージがサポートするバージョンは、アプリマニフェストの MinVersion とMaxVersionTested属性のTargetDeviceFamilyで示さなければなりません。
ストアマニフェストXMLファイル
StoreManifest.xmlは、アプリパッケージに含まれうるオプションの構成ファイルである。 その目的は、アプリをマイクロソフト・ストア・デバイス・アプリとして宣言したり、パッケージがデバイスに適用できるように依存する要件を宣言するなど、パッケージ・マニフェストに含まれていない機能を使用できるようにすることである。 使用される場合、StoreManifest.xml はアプリ パッケージと共に提出し、アプリのメイン プロジェクトのルート フォルダーにあることが必要です。 詳細については、のStoreManifestスキーマを参照する。
パッケージ バージョンの番号付け
提供する各パッケージにはバージョン番号が必要です (アプリマニフェストの 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を利用するものを含む) 用の多数の中間アップデートを出荷することができる。 次の例では、同じアプリの一連の申請に対して、同じ規則を一貫して適用する方法を示しています。
送信 | Contents | 顧客エクスペリエンス |
---|---|---|
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 で導入され、 < 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 パッケージを申請することです。 その提出物が認証プロセスを通過した後、すべての顧客は新しいパッケージにアップデートされる。
サポートされている言語
アプリは、100 以上の言語で Microsoft Store に申請できます。
アプリで言語を構成する方法の詳細については、「グローバリゼーションとローカライズ」および「ユーザー プロファイルの言語とアプリ マニフェストの言語について」を参照してください。 当社には、の多言語アプリツールキットもあり、複数の言語をサポートするアプリを書くのに役立つ。
サポートされている言語の一覧
次の言語が Microsoft Store でサポートされています。 アプリは、これらの言語の少なくとも 1 つをサポートしている必要があります。
ここに含まれていない言語コードは、Microsoft Store でサポートされていません。 以下に示す以外の言語コードを対象とするパッケージは含めないようにお勧めします。そのようなパッケージは、顧客に配布されず、認定の遅延や失敗の原因になる可能性があります。
言語名 | サポートされている言語コード |
---|---|
アラビア語 | ar, ar-sa, ar-ae, ar-bh, ar-dz, ar-eg, ar-iq, ar-jo, ar-kw, ar-lb, ar-ly, ar-ma, ar-om, ar-qa, ar-sy, ar-tn, ar-ye |
アフリカーンス語 | af、af-za |
アルバニア語 | sq、sq-al |
アムハラ語 | am、am-et |
アルメニア語 | hy、hy-am |
アッサム語 | as、as-in |
アゼルバイジャン語 | az-arab、az-arab-az、az-cyrl、az-cyrl-az、az-latn、az-latn-az |
バスク語 (バスク) | eu、eu-es |
ベラルーシ語 | be、be-by |
ベンガル語 | bn、bn-bd、bn-in |
ボスニア語 | bs、bs-cyrl、bs-cyrl-ba、bs-latn、bs-latn-ba |
ブルガリア語 | bg、bg-bg |
カタルニア語 | ca、ca-es、ca-es-valencia |
チェロキー語 | chr-cher、chr-cher-us、chr-latn |
簡体中国語 | zh-Hans、zh-cn、zh-hans-cn、zh-sg、zh-hans-sg |
繁体中国語 | zh-Hant, zh-hk, zh-mo, zh-tw, zh-hant-hk, zh-hant-mo, zh-hant-tw |
クロアチア語 | hr、hr-hr、hr-ba |
チェコ語 | cs、cs-cz |
デンマーク語 | da、da-dk |
ダリー語 | prs、prs-af、prs-arab |
オランダ語 | nl、nl-nl、nl-be |
English | en, en-au, en-ca, en-gb, en-ie, en-in, en-nz, en-sg, en-us, en-za, en-bz, en-hk, en-id, en-jm, en-kz, en-mt, en-my, en-ph, en-pk, en-tt, en-vn, en-zw, en-053, en-021, en-029, en-011, en-018, en-014 |
エストニア語 | et、et-ee |
フィリピン語 | fil、fil-latn、fil-ph |
フィンランド語 | fi、fi-fi |
フランス語 | fr, fr-be , fr-ca , fr-ch , fr-fr , fr-lu, fr-015, fr-cd, fr-ci, fr-cm, fr-ht, fr-ma, fr-mc, fr-ml, fr-re, frc-latn, frp-latn, fr-155, fr-029, fr-021, fr-011 |
ガリシア語 | gl、gl-es |
ジョージア語 | ka、ka-ge |
ドイツ語 | de、de-at、de-ch、de-de、de-lu、de-li |
ギリシャ語 | el、el-gr |
グジャラート語 | gu、gu-in |
ハウサ語 | ha、ha-latn、ha-latn-ng |
ヘブライ語 | he、he-il |
ヒンディー語 | hi、hi-in |
ハンガリー語 | hu、hu-hu |
アイスランド語 | is、is-is |
イボ語 | ig-latn、ig-ng |
インドネシア語 | id、id-id |
イヌクティトット語 (ラテン) | iu-cans、iu-latn、iu-latn-ca |
アイルランド語 | ga、ga-ie |
コサ語 | xh、xh-za |
ズールー語 | zu、zu-za |
イタリア語 | it、it-it、it-ch |
日本語 | ja、ja-jp |
カンナダ語 | kn、kn-in |
カザフ語 | kk、kk-kz |
カンボジア語 | km、km-kh |
キチェ語 | quc-latn、qut-gt、qut-latn |
キニヤルワンダ語 | rw、rw-rw |
スワヒリ語 | sw、sw-ke |
コーンクニー語 | kok、kok-in |
韓国語 | ko、ko-kr |
クルド語 | ku-arab、ku-arab-iq |
キルギス語 | ky-kg、ky-cyrl |
ラオス語 | lo、lo-la |
ラトビア語 | lv、lv-lv |
リトアニア語 | lt、lt-lt |
ルクセンブルク語 | lb、lb-lu |
マケドニア語 | mk、mk-mk |
マレー語 | ms、ms-bn、ms-my |
マラヤーラム語 | ml、ml-in |
マルタ語 | mt、mt-mt |
マオリ語 | mi、mi-latn、mi-nz |
マラーティー語 | mr、mr-in |
モンゴル語 (キリル) | mn-cyrl、mn-mong、mn-mn、mn-phag |
ネパール語 | ne、ne-np |
ノルウェー語 | nb, nb-no, nn, nn-no, no, no-no, |
オディア語 | or、or-in |
ペルシャ語 | fa、fa-ir |
ポーランド語 | pl、pl-pl |
ポルトガル語 (ブラジル) | pt-br |
ポルトガル語 (ポルトガル) | pt、pt-pt |
パンジャーブ語 | pa、pa-arab、pa-arab-pk、pa-deva、pa-in |
ケチュア語 | quz、quz-bo、quz-ec、quz-pe |
ルーマニア語 | ro、ro-ro |
ロシア語 | ru、ru-ru |
スコットランド ゲール語 | gd-gb、gd-latn |
セルビア語 (ラテン) | sr-Latn、sr-latn-cs、sr、sr-latn-ba、sr-latn-me、sr-latn-rs |
セルビア語 (キリル) | sr-cyrl、sr-cyrl-ba、sr-cyrl-cs、sr-cyrl-me、sr-cyrl-rs |
セソト サ レボア語 | nso、nso-za |
セツワナ語 | tn、tn-bw、tn-za |
シンド語 | sd-arab、sd-arab-pk、sd-deva |
シンハラ語 | si、si-lk |
スロバキア語 | sk、sk-sk |
スロベニア語 | sl、sl-si |
スペイン語 | es, es-cl, es-co, es-es, es-mx, es-ar, es-bo, es-cr, es-do, es-ec, es-gt, es-hn, es-ni, es-pa, es-pe, es-pr, es-py, es-sv, es-us, es-uy, es-ve, es-019, es-419 |
スウェーデン語 | sv、sv-se、sv-fi |
タジク語 (キリル) | tg-arab、tg-cyrl、tg-cyrl-tj、tg-latn |
タミル語 | ta、ta-in |
タタール語 | tt-arab、tt-cyrl、tt-latn、tt-ru |
テルグ語 | te、te-in |
タイ語 | th、th-th |
ティグリニア語 | ti、ti-et |
トルコ語 | tr、tr-tr |
トルクメン語 | tk-cyrl、tk-latn、tk-tm、tk-latn-tr、tk-cyrl-tr |
ウクライナ語 | uk、uk-ua |
ウルドゥ語 | ur、ur-pk |
ウイグル語 | ug-arab、ug-cn、ug-cyrl、ug-latn |
ウズベク語 (ラテン) | uz、uz-cyrl、uz-latn、uz-latn-uz |
ベトナム語 | vi、vi-vn |
ウェールズ語 | cy、cy-gb |
ウォロフ語 | wo、wo-sn |
ヨルバ語 | yo-latn、yo-ng |
Windows developer