次の方法で共有


サブミッション バリデーターによる品質チェック

提出から認証を経てマーケット リリースに至るまでの過程をスムーズにするという目標に向けて取り組むために、サブミッション バリデーターが識別する問題の種類は徐々に成長し、進化しています。

サブミッション バリデーターは、以下の品質チェックを実行します。

使用可能なバージョン

サブミッション バリデーターは、インストールされているバージョンが最新で正しいバージョンであることを確認します。 そうではない場合、サブミッション バリデーターの出力ログにエラーが記録されます。 このエラー メッセージには次のように、正しいバージョンをダウンロードするためのリンクが含まれます。

<component>Available Version Check</component>
<failure>A required update to Submission Validator is available. The latest version can be downloaded from https://go.microsoft.com/fwlink/?LinkId=393356. Download and install the update, then rebuild the package. Contact your 
Developer Account Manager for assistance.</failure> 

承認済みのゲーム OS

サブミッション バリデーターは、ゲーム OS および Microsoft ゲーム開発キット (GDK) からのオプション コンポーネントが、同じリリースの Microsoft ゲーム開発キット (GDK) からのものであり、リリース タイトルでの使用が承認されたバージョンであることを確認します。 以下に示すように、承認済みまたは非推奨のリストに含まれていないバージョンの場合、バリデーターのログにエラーが記録されます。

<failure>The GameOS included in this package is not an approved version. Use only 
supported GameOS versions according to the Approved Libraries page on the Developer 
Network Portal</failure>  

以下に示すように、バージョンが非推奨リストに見つかった場合、その非推奨バージョンで最初にリリースされたタイトルのコンテンツ更新に対してのみ有効であることを示す警告がバリデーターのログに記録されます。

<warning>The GameOS included in this package is not approved for new title submissions. 
This version is allowed only for Content Updates where the original release used this 
version. Use only supported GameOS versions according to the Approved Libraries page on 
the Developer Network Portal</warning>  

コンポーネントのバージョンが相互に一致しない場合、またはバージョンが承認リストまたは非推奨リストにない場合は、次の例のようなエラーが記録されます。

<failure>The GameOS version does not match the version of other Microsoft components 
included in this package. Use only components from the same Microsoft Game Development Kit (GDK)/Xbox One Software Development Kit release. Refer to the 
Approved Libraries page on the Developer Network Portal</failure>  

注意

実行中の開発用 PC がインターネットにアクセスできない、ファイアウォールによってブロックされている、ネットワーク接続がないなどで、オンライン情報にアクセスできない場合は、サブミッション バリデーターによる検証チェックが完了しないことがあります。

コンテンツの最終チャンク内の起動マーカー (ダウンロード可能なコンテンツ(DLC))

すべてのシナリオで適切に動作させるためには、コンテンツ パッケージによって最終チャンクが起動マーカー属性でマークされる必要があります。 最後のチャンクに起動マーカーが含まれていない場合、そのパッケージを正常にテストできても、場合によってはエンド ユーザーに問題を引き起こす可能性があります。 エラー メッセージは次のように表示されます。

<failure>Content Packages require final layout chunk to include attribute marker="Launch"</failure>  

追加の Resources.pri ファイル

サブミッション バリデーターは、レイアウトの他のディレクトリに追加の Resources.pri ファイルが存在しないことを確認します。 MicrosoftGame.config と同様に、ルートにあるものだけが使用されます。 ただし、複数のコピーがあると、どちらが正しいのか、また、それらの他のファイルに関する開発者の意図が何かということで混乱を招く可能性があります。

これは、MicrosoftGame.config の追加コピーと同様のチェックに相当します。この場合、以下のように、追加のコピーによって、ログの外部ファイルのチェック セクションでエラーが記録されます。

<failure>D:\path\mytitle\mytitlesubdirectory\resources.pri</failure>  

Resources.pri ファイルの不足

アプリケーションをローカライズする必要はありませんが、アプリケーションのルート (MicrosoftGame.config と同じ場所) に Resources.pri ファイルが含まれていない場合、出力ログの外部ファイルのチェック セクションに次の警告が記録されます。

<warning>Non-localized app: 'resources.pri' is missing</warning>  

パッケージ毎に 1 つのアプリケーション

サブミッション バリデーターにより、パッケージに含まれる非 DevOnly アプリケーションがパッケージごとに 1 つだけであることが検証されるようになりました。

最大パッケージ サイズ

サブミッション バリデーターは、パッケージが最大パッケージ サイズ (49,900,000,000 バイト) を超えていないことを確認します。 これは情報提供メッセージであり、失敗ではありません。

外部ファイル

Xbox 360 プログラムの提出物のレビューで発生した問題の 1 つは、リテール タイトルに含めてはならないさまざまなファイルを (多くの場合は誤って) 提出物に含めることでした。

外部ファイルのチェックでは、レイアウト .xml ファイルを使用して、パッケージでは許可されていない特定のファイル名や拡張子について、タイトル パッケージに取り込まれたすべてのファイルをチェックします。 このチェックは、ファイルの内容ではなく、ファイル名のみに基づきます。 許可されていないファイルには、ソース ファイルとデバッグ ファイルに関連する拡張子、Thumb.db、ルートにあるもの以外の無関係な登録ファイル、およびタイトル パッケージに含めてはならない Xbox オペレーティング システムの全ファイルなどがあります。 このチェックは、Xbox の要件 XR-003「提出用タイトルの品質」を検証するために行われます。

次の表に、提出されるタイトル パッケージで許可されないファイルの種類と拡張子を示します。

ファイルの種類 拡張子
ソース コード関連ファイル .c、.cpp、.cs、.lib、.h、.obj
デバッグ/シンボル情報ファイル .pdb、.sym
従来のバイナリ ファイル .xbe

タイトルでは考えられるほとんどすべての拡張子が正当に使用される可能性があり、そのことが拡張子のチェックと矛盾することになる可能性があります。 これがタイトルにおける問題である場合は、開発者アカウント マネージャー (DAM) に問い合わせてください。

サブミッション バリデーターのログで "エラー" のメッセージを受け取っているタイトル パッケージにファイルを含める必要がある例外的なケースの場合は、担当の DAM に相談してください。

次の例は、外部ファイルのチェックでエラーが記録されたログ出力を示しています。

<component>Foreign File Check</component>
<failures>
  <failure>c:\MyTitle\loose\bar.cpp</failure>
  <failure>c:\MyTitle\loose\MySubDir\example.h</failure>
  <failure>c:\MyTitle\loose\MySubDir\PDBs\BlockedFiles\foo.pdb</failure>
</failures>
<filecount>3</filecount>  

バイナリ スキャン

Xbox 本体のバイナリ (.exe や .dll) ファイルは、AMD64 用にビルドされ、ネイティブ コードのみである必要があります。 現時点では、マネージド コードのバイナリはプラットフォームでサポートされていません。 バイナリ スキャン チェックでは、タイトル パッケージに含まれる各 .exe および .dll ファイルを検証し、これらの要件を満たしていることを確認します。 このチェックは、XR-003「提出用タイトルの品質」の検証で使用されます。

また、Binary Scan セクションでは、各 .exe および .dll ファイルに対して、セキュリティ上の理由によりリテール版本体ではブロックされる依存関係についてのチェックも行われます。 一般に、これは、プラットフォーム ファイルのデバッグ バージョン、PIXEvt.dll、または Xbox Studio にリンクする形を取ります。

次の例は、バイナリ スキャン チェックでエラーが記録されたログ出力を示します。 最初の 2 つのエラーは、リテール版本体で許可されていない 2 つのファイルに .exe ファイルがリンクされていることが原因です。 3 番目のエラーは、マネージド .exe ファイルです。 最後のエラーは、AMD64 ネイティブ コード以外の .dll ファイルです。

<component>Binary Scan</component>
      <dumpbinlocation>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\dumpbin.exe</dumpbinlocation>
      <failures>
   <failure>Non-retail dependency in file c:\MyTitle\loose\ExeWithDebugDependencies.exe: MSVCR110D.dll</failure>
  <failure>Non-retail dependency in file c:\MyTitle\loose\ExeWithDebugDependencies.exe: PIXEvt.dll</failure>
  </failures>
  <failure>Managed: Not AMD64: c:\MyTitle\loose\MySubDir\ABC.exe</failure>
  <failure>Not AMD64: c:\MyTitle\loose\MySubDir\XYZ.dll</failure>
</failures>  

開発者は、そのようなデバッグに重点を置いた依存関係が、提出パッケージに含まれるバイナリのリリース ビルドから除外されていることを確認する必要があります。

Microsoft(MS) コンポーネントのバージョン

Xbox では、プラットフォームのサーフェス領域の多くがゲーム OS に含まれています。 ただし、タイトルと共に再配布される Microsoft 提供の一連のバイナリがあります。 これらのファイルおよびそれらの承認済みバージョンは、Xbox Game Developer (XGD) サイトの承認済みライブラリに関するページにリストされています。

サブミッション バリデーターは、これらのファイルのバージョンをチェックして、オプションの .dll がすべて、一致するバージョンであることを確認します。 また、排他的パーティション タイトルの XVC にパッケージ化されているゲーム OS のバージョン ID もキャプチャーします。 開発者は、提出前にそれらのバージョンを公開された承認済みライブラリーの情報と照らし合わせて確認することが重要です。

さらに、オプションの Kinect および Xbox サービスの .dll ファイルがタイトルに含まれている場合、サブミッション バリデーターはそれらのバージョン情報の抽出も行います。

サブミッション バリデーターのログ ファイルに記録されるバージョン情報の例を次に示します。

<component>MS Component Versions</component>
<component name="GameOS">60BBA05C-22F0-4452-84B6-DD278594716E</component>
<component name="Microsoft.Xbox.Services.dll">10.0.18362.7198</component>  

関連項目

サブミッション バリデーター (SubmissionValidator.dll)

サブミッション バリデーターのメッセージ

パッケージの作成 (makepkg.exe)

タイトルのパッケージ化、コンテンツ アップデート (CU)、ストリーミングインストールのテスト

Xbox の要件 (XRs) ([Xbox 開発者ダウンロード]>[パートナー]、[公開]、[リリース管理情報]>[XGD パートナー ドキュメント] の順に移動)