<Identity> Element

Globally unique identifier for a package. A package identity is represented as a tuple of attributes of the package.

This element is required.

Syntax

<Identity
  Name = string
  Publisher = string
  Version = string
  ResourceID = string />  

Attributes

Name
Describes the contents of the package. The Name attribute is case-sensitive. Name is a string between 3 and 50 characters in length that consists of alpha-numeric, period, and dash characters.

Note The Name and Publisher attributes are written into an app’s package full name, these attributes must not change their values after an app’s initial submission. Any content updates must use the same values as the original submission for content to actually update.

  To ensure uniqueness of package identity for proper console behavior, titles must ensure either one of the following requirements is met:

  1. The Name property of the <Identity> section of your AppXManifest.xml must be unique for each SKU of your game. If this is not possible due to use of MSA auth where the Name and Identity from the AppXManifest.xml of your product are entered into XDP for use with 3rd party services authentication, use the 2nd option below.
  2. If the Name property of the <Identity> section of your AppXManifest.xml is the same, then each SKU of your game must include a unique ResourceID property value in the <Identity> node of your AppXManifest.xml file. Note that packages differentiated this way cannot be installed side-by-side on a console – the second game install will fail.

  Option #2 is necessary for multi-SKU titles using the GetTokenAndSignatureAsync() API at runtime. Existing titles publishing content updates should continue with whatever scheme they are currently using. Changing the package identity name in Content Updates will break existing installations, forcing users to uninstall and re-install.

Note This value must be unique for separate SKUs of the same title.

Publisher
Describes the publisher information. Publisher is a string between 1 and 8192 characters in length that fits the regular expression of a distinguished name : “(CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID.(0|[1-9][0-9])(.(0|[1-9][0-9]))+))=(([^,+=”<>#;])+|”.”)(, ((CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID.(0|[1-9][0-9])(.(0|[1-9][0-9]))+))=(([^,+=”<>#;])+|”.”)))*”.

Note The Name and Publisher attributes are written into an app’s package full name, these attributes must not change their values after an app’s initial submission. Any content updates must use the same values as the original submission for content to actually update.

Version
The version number of the package. The version string is in quad notation, “Major.Minor.Build.Revision”.

ResourceID
Describes the type of UI resources contained in the package. The ResourceId is a publisher-specified string that contains between 1 and 30 characters in length that consists of alpha-numeric, period, and dash characters.

Element information

Parent elements Package

Remarks

This value is not displayed on the console. See the DisplayName and Description attributes of the VisualElements element for values that are displayed on the console.

Example

<Identity Name="3701ae0d-33dc-4648-99d5-3811acff6de2" Publisher="CN=Publisher" Version="1.0.0.0" />