Get your product identity information from Partner Center
Your package references the product identity assigned to your game in Partner Center, including your publisher identity, PackageFamilyName, MSAAppId, and TitleId. Set up your product and retrieve this information from the Game Setup | Identity page for use in your MicrosoftGame.config.- If you haven’t already, register for the ID@XBOX program and create a Partner Center account.
- Create an initial product definition for your game in Partner Center.
- On the Game Setup | Identity page for your product, find the identity values listed above.
Create your MicrosoftGame.config file in the root folder along with the rest of your game content
A sample MicrosoftGame.config XML file is included later in this article. Use this sample as a reference alongside the MicrosoftGame.config Editor, which can streamline creation of your .config file and automatically sync down ID and name values from your Partner Center project.Create your icons for display in the shell and Microsoft Store packages
For each image listed in the following MicrosoftGame.config sample, place a corresponding file in the root folder of your game, scaled to the size specified. Alternately, you can place image assets in a subdirectory, and adjust theShellVisuals icon paths to match. The MicrosoftGame.config Editor provides the ability to generate these images for you with a single source image as input.
Install the Microsoft Game Development Kit (GDK) (includes makepkg.exe packaging tool)
By default, the Microsoft Game Development Kit (GDK) command prompts are in this folder:C:\Program Files (x86)\Microsoft GDK\Command Prompts
Create your packaging layout mapping file
Open a Microsoft Game Development Kit (GDK) command prompt in the folder that contains a single folder with all your game content, and then run the following command:makepkg genmap /f layout.xml /d <Your_Game_Folder>
Create your package
How to create your package
Follow these steps to create an/lk encrypted package:
- One time: Run
makepkg genkey /ekb SECRET_KEY.lekbto create theSECRET_KEY.lekbfile. This file is the Local Escrowed Key Blob (LEKB) that stores the stable content key that encrypts your package. Store it in a secure location with need-to-know access. In an ideal setup, only official build machines and accounts should have access to it. - Package creation: Run
makepkg pack /lk SECRET_KEY.lekb /f layout.xml /d <Your_Game_Folder_Name> /pd <Output_Folder_Name>. This command creates a package encrypted using the key stored in the SECRET_KEY.lekb file.
Important notes on package encryption
Themakepkg /lk switch encrypts the package by using a stable (always the same) key that the makepkg genkey command creates. In addition to your title package, makepkg /lk generates files named in the format PackageFullName_licenseName_GUID.EKB and PackageFullName_licenseName_GUID.CEKB. (Note the use of the underscore (_) character.)
Use /lk encryption for development kit testing and submission on console. It offers these benefits when compared to test encryption (/lt) and submission encryption (/l):
packageutil comparecan generate correct update size estimates (unlike/l).- It enables secure delta upload to Partner Center by using the same algorithm that consoles and PCs use to download content updates.
- You can install it onto devkits (unlike
/l). - It uses secure encryption key material and you can only decrypt it in specific environments (unlike
/lt).
Test your package installation
Use the following command to test your package installation:xbapp install <Your_Package>
If your package uses Intelligent Delivery Features, use the /i option to invoke the interactive shell UI for picking which package features to install for testing the retail end user experience.
xbapp install /i <Your_Package>
Important notes on package installation
xbapp install will automatically install the CEKB file necessary to load the package onto an XBOX devkit. If you’re testing an install scenario other than tool-based install (game disc, external storage, console-to-console transfer) then the xbapp installkey command can be used to install only the CEKB file. See xbapp.exe for more details.
LEKB files generated before the April 2021 GDK won’t create a CEKB file. To use the new devkit sideloading feature, the LEKB file must be re-created with April 2021 or later GDK tools.
If you plan to create discs for your package see the following articles
Creating test compilation discs Creating cross-generation test discsSubmit your package to Microsoft Partner Center
The package you created by using the previous makepkg.exe command can be used for both testing and submission since the/lk flag was used to encrypt the package. You’ll also benefit from delta upload when uploading this package. The XVC and EKB files are uploaded to Partner Center as normal. The LEKB and CEKB files won’t be uploaded.
