Split Package (splitpkg.exe)

Builds subset packages from a master package.

splitpkg command [/?]
Option Description
commandSpecifies the command to perform. Supported commands are split, validate, and list.
/?Shows help text. To show help for a specific command use: SPLITPKG <command> /?

Commands

split command

Splits a package created with makepkg in to one or more subset packages based on a subset XML file.

splitpkg split [/v] [/m] [/j] [/?] /f <subsetfile> /p <sourcepackage> [/s <subsetname>] /pd <destinationdir>
Option Description
/fSpecifies subset XML file to define how the subset packages should be created.
/pSpecifies the path to the source package. If producing a compilation disc this parameter may be provided more than once.
/sSpecifies an optional subset name. This will only produce split packages that have the given name. Multiple /s parameters can be added.
/pdSpecifies the destination path for the created subset packages.
/vEnables verbose output of messages to the console.
/mSpecifies maximum allowable size for a package in GB. Default is 49GB. Pass a value of 0 for no restriction on size.
/jAll tool output will additionally emit a JSON object.
/?Shows this help text.

validate command

Runs the validation steps to detect potential issues with package splitting. Takes the same parameters as the “splitpkg split” command, with the exception of a destination path which is not required for validation.

splitpkg validate [options] /f <subsetfile> /p <sourcepackage> [/s <subsetname>]

list command

Lists the subset package information for the given subset file as JSON objects.

splitpkg list [/v] [/?] /f <subsetfile>
Option Description
/fSpecifies subset XML file to define how the subset packages should be created.
/vEnables verbose output of messages to the console.
/?Shows this help text.

Package Schema

The following schema is used to define how the package should be split.

      
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Package" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

  <!--PACKAGE SCHEMA-->
  <xs:element name="Packages">
    <xs:complexType>
      <xs:choice minOccurs="1" maxOccurs="unbounded">
        <xs:element name="Package">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Include" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="RegionId" type="xs:string"/>
                  <xs:attribute name="Languages" type="xs:string"/>
                  <xs:attribute name="Devices" type="deviceType"/>
                  <xs:attribute name="ContentTypes" type="contentType" />
                  <xs:attribute name="Tags" type="xs:string" />
                  <xs:attribute name="Disc" type="xs:integer" />
                </xs:complexType>
              </xs:element>
              <xs:element name="Exclude" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="RegionId" type="xs:string"/>
                  <xs:attribute name="Languages" type="xs:string"/>
                  <xs:attribute name="Devices" type="deviceType"/>
                  <xs:attribute name="ContentTypes" type="contentType" />
                  <xs:attribute name="Tags" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="Name" type="xs:string" use="required"/>
            <xs:attribute name="Description" type="xs:string" use="optional"/>
            <xs:attribute name="Source" type="xs:string" use="optional"/>
            <xs:attribute name="MaxDiscs" type="xs:string" use="optional"/>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>

  <xs:simpleType name="deviceType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Xbox-Durango"/>
      <xs:enumeration value="Xbox-Scorpio"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="contentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="SinglePlayer"/>
      <xs:enumeration value="MultiPlayer"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>  

See also

Application Packaging During Development

Testing Streaming Install Packages

Deployment Package Schema

Make Package (makepkg.exe)