Submission Validator (SubmissionValidator.dll)

The Submission Validator is a component of the Xbox One Software Development Kit (XDK) and Xbox Application Development Kit (ADK) that runs a series of basic quality checks on a title or app package. Submission Validator provides feedback to developers to allow them to address common problems that would cause titles to fail during the content ingestion and certification process at Microsoft. When a title package is submitted, the most current version of Submission Validator is used to detect any failures that could lead to the title being rejected. The overarching goal of the Submission Validator is to automate these checks and push them as early into the process as possible to ensure Xbox One partners are able to self-diagnose and correct problems prior to submitting for certification.

Using Submission Validator

Submission Validator is not a stand-alone tool that the developer uses. Rather, it is called automatically to check an app whenever the makepkg pack command is used, except when the /LU switch is used. For more information regarding the syntax and command line usage, see the makepkg reference page.

The Submission Validator will execute before the title package is created. Failures in the validation will be recorded in the validation log, which is written to the output location specified on the makepkg command line. This is the same output location where the finished title package will be created.

There are no options or other command line controls provided for the Submission Validator and no other means to execute it other than through the makepkg command line.

Using Submission Validator on pre-April 2014 XDKs/ADKs

Using Submission Validator on pre-April 2014 XDKs/ADKs requires setting environment variables to work properly. To cause Submission Validator to check the files defined in your layout, set the environment variable XDK_Cert_Layout to the path and filename of the layout file before calling MakePkg.

If you don’t set the environment variable first, you will see the following line in the Submission Validator log file:

<warning>Environment variable XDK_Cert_Layout must be set to the location of 
the title layout XML file before calling makepkg. Checking files in root 
directory structure only: d:\MyTitleWorkingDir\TitleFiles\MyTitle</warning>  

In this case, all files in the input directory and all files in all subdirectories below the input directory (specified by the /D parameter on the makepkg command line) will be checked by the foreign files check and the Binary Scan.

When packaging an exclusive app, you must also set the environment variable XDK_Cert_GameOS to the path and filename of the GameOS.

For example, at an Xbox One XDK command prompt, type:

Set XDK_Cert_Layout=d:\MyTitleWorkingDir\Layouts\FinalLayout.xml
Set XDK_Cert_GameOS=c:\Program Files (x86)\Microsoft Durango XDK\sideload\era.xvd
makepkg pack /L /V /F d:\MyTitleWorkingDir\Layouts\FinalLayout.xml /D d:\MyTitleWorkingDir\TitleFiles\MyTitle /PD d:\MyTitleWorkingDir\Output  

Problems Identified by Submission Validator

The types of problems that Submission Validator identifies will grow and evolve over time in order to work toward the goal of smoothing the way from submission, through cert and to market. For the current list of problems Submission Validator detects see Submission Validator Quality Checks.

Understanding the Results Log

After the MakePkg process completes, the title XVC will appear in the output folder. In this same folder, you’ll also find the validation log. You can recognize it by its name in the form of “Validator_[title and package identifier].xml.” You should examine this log for any failures or warnings. In addition to failures and warnings already shown in previous sections, any <failure> tag designates a condition that will cause your submission to be rejected as part of the content ingestion, mastering, and certification phase. Although nothing prevents you from submitting such a package, doing so will cause you wasted time and effort. It is far better to correct the problems identified until the log contains no <failure> tags.

You may also see <warning> tags in the log. These generally indicate issues that may require an exception. If you have questions about any warnings that are identified, contact your Developer Account Manager. Even if you are granted an exception for your title, the <warning> tag will still appear in the log file.

At the end of the log, you will find the <validatorrun> section. This section contains a <result> tag that indicates overall Fail or Success for the Submission Validator tests. Any failure in any section will result in an overall failure.

<validatorrun>
  <starttime>Sep 23 2013 16:43:41</starttime>
  <endtime>Sep 23 2013 16:43:41</endtime>
  <result>Fail</result>
</validatorrun>  

At the top of the log file, you can find the version number for the Submission Validator being used for the test. The following example shows this version number in a log file:

<XboxOneSubmissionValidator>
  <engineversion>6.2.10150.0</engineversion>  

Because your submission will be tested using the latest version of the Submission Validator when it is received at Microsoft, we strongly recommend that you regularly update the version of Submission Validator that you are using as you prepare to submit your title. See the following section for more information.

Updating Submission Validator

The Submission Validator is implemented as a separate SubmissionValidator.dll found in the development kit \Bin directory. Updates to the validator will not always correspond to the development kit release cycle. The current version is always available for download from the Certification Tools page on XGD. Download the compressed (.zip) file, open it, and place the updated SubmittionValidator.dll in the development kit \Bin directory, overwriting the previous version. This page will also include the current release version number and date. Inside the compressed file you will find a text file containing release notes for the current version, including known issues and information about changes to the checks performed by Submission Validator that differ from the descriptions in this white paper.

When an app, title, or content package is submitted to Microsoft, the current version of the Submission Validator will be used to check that submission. Before you submit your app, title, or content package, we recommended that you ensure that you have the current version of the Submission Validator on the computer on which the submission package is being built.

See also

Make Package (makepkg.exe)

Title Packaging and Streaming Installation

Xbox Requirements (XRs)

In this section

Submission Validator Quality Checks
Describes the quality checks performed by Submission Validator.