If you want to submit a game to the Windows Store, you must provide metadata that defines the ratings for your game as part of the game package. Here, we walk you through creating a simple resource DLL to contain the ratings XML data.
Important The Windows Store displays only those ratings specified in the language resource instance identified as Neutral (NEU) in the GDF. Make sure all of your ratings are included in this instance.
Note Familiarize yourself with the process of building DLLs and packaging them with your game in Microsoft Visual Studio Express 2012 for Windows 8 before you continue.
Creating a GDF file for your project
Here we assume you already have an existing game project in Visual Studio Express 2012 for Windows 8 that builds and is ready to submit to the Windows Store.
- Start the Game Definition File Maker tool by running GDFMAKER.EXE from the %ProgramFiles(x86)%\Windows Kits\8.0\bin\x86 directory. You will see this default screen when it starts.

- On the File menu, click New Project to create a new GDFMAKER project for your game.
- Type a project name and project location in the New Game Definition Project dialog box. (Choose a folder location that is different from your Visual Studio game project.) Note that the Windows Store does not require you to select any additional languages; it only uses the ratings in the Language Neutral data that is created for each game project by default.
- Now, specify the languages your game supports if you want to control how your game is displayed in the Family Safety user interface. For most games, providing only language-neutral data is acceptable, and you do not need to select any additional languages.
Important You must place any game ratings in the Language Neutral definition of your GDF file or your ratings will not be displayed in the Windows Store.

- When the project is created, you will see a screen that looks like this one.
Note The Game ID value is a unique GUID generated for each project, and will not be the same as the one seen in the screenshot.

- Click the Language Neutral option on the left-hand side of the application window under Localization Information.

- Verify that the Game Name and Description fields in the main screen of the Game Definition File Maker tool match the info you entered in your project’s Package.appxmanifest file.

- Clear the Use Windows Experience Index check box.
- Click the Play Tasks tab, and then click the Add button to add a Play Task.
In the Play Task dialog box, accept all defaults and type the name of your game in the Path field. (For Windows Store apps, Windows doesn't use the data entered in this dialog box, but for the Game Definition File Maker tool, you must specify at least one play task per game localization to save your GDF file.)

- For each Rating system your game supports, click the Add button under Game Rating Information section to bring up the Add Rating dialog box.

- In this dialog box, click the rating system, rating, and ratings descriptors as certified by that ratings agency. (For further information on game ratings, read Obtaining a game rating certificate.)

- Select NEU {Language Neutral} under Localization Information, and then provide the localized Game Name and Description for that language. You must also provide a primary play task (under Play Tasks) and thumbnail image for each language.
- On the Resources menu, click Build Script for Project. This generates a directory for each language you support, as well as an .RC file and an .H file.
This process leaves many of the fields in the Game Definition File Maker tool blank. This is acceptable for a Windows Store app, because the Windows Parental Control system uses no fields other than Game Rating Information.
Creating a DLL project container for the GDF file
- Open your game solution in Visual Studio.
- Right-click your game solution in Solution Explorer and click New Project to add a new project to your game solution.
- In the Add New Project dialog box, choose the Windows Store category under Visual C++ in the Installed Templates section of the dialog.
- Choose the DLL (Windows Store) project type, enter a name and location for the project and click OK.
- The linker property /NOENTRY must be set. Right-click on the DLL solution file (.sln) in Solution Explorer, and then select Properties. In the the left pane of the (DLL) Properties Pages window, expand Configuration Properties, and then Linker. Click on the Advanced item in the left pane, and set the value for No Entry Point to "Yes (/NOENTRY)".
- Copy the .RC file and all subdirectories created by the Game Definition File Maker tool to a "res" subdirectory in the resource DLL project directory for the new project. Add the .RC file to the project
- Update the .RC file so it appears similar to the example below.
Note All instances of
ID_GDF_XMLshould be changed to__GDF_XML.///////////////////////////////////////////////////////////////////////////// // Resource File for : MyNewWin8Game //#include "MyNewWin8Game.h" // The following line is a workaround for a redefinition warning in sal.h // when using Visual Studio 2005 compilers and includes. Comment out the // line if you would like to see the warning. #define _INC_CRTDEFS ///////////////////////////////////////////////////////////////////////////// // This resource files requires the Platform SDK to be compiled. //#include <gameux.h> #define APSTUDIO_READONLY_SYMBOLS #include <winnt.rh> #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // Neutral Resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(DEFAULT) #endif //_WIN32 __GDF_XML DATA "NEU\\MyNewWin8Game.gdf.xml" #endif // Neutral resources /////////////////////////////////////////////////////////////////////////////
- Switch to the Release configuration of the project, then Build and verify that your project builds with no errors or warnings.
- Copy the DLL just built to the source directory of your main game project.
- Add this DLL to your main game project in Visual Studio by right-clicking on the project and choosing the Add item under Existing Item.
- Edit the app manifest file for your project (typically named “package.appxmanifest”) to add a Game Explorer declaration. On the Declarations tab, click Game Explorer from the Available Declarations drop-down list, and then type the name of your ratings DLL.
- Build your project and verify that there are no errors or warnings.
You can verify that the game ratings are correct by deploying your game locally from Visual Studio.
- In the Family Safety control in Control Panel, select a local user account to use for test purposes. (You might need to create another local user account if you don’t have one that you can use for Family Safety.)
- On the User Settings page of Family Safety options, first turn Family Safety on, then select App restrictions.
- On the Game and Windows Store Restrictions options page, then select Allow or block specific games.
Manually adding the extension for your .GDF file to the manifest
Your app can register with Windows as a game. To do this, you must create a Game Definition File (GDF) following the process on this page, build it as a binary resource in your app, and declare that resource in the package manifest (see Step 11). If you’re not using Microsoft Visual Studio 2012, you must manually add the following to your package.appxmanifest file under the <Extensions> element:
<GameExplorer GameDefinitionContainer="MyNewWin8Game.gdf" />
For example, if your game is named MyNewWin8Game, the manifest XML for the extension looks like this:
<Extensions> <Extension Category="windows.gameExplorer"> <GameExplorer GameDefinitionContainer="MyNewWin8Game.gdf" /> </Extension> </Extensions>
Note that the GameDefinitionContainer attribute on the <GameExplorer> element must contain the relative path to the .GDF file created by GDFMaker.
Related topics
Build date: 3/22/2013