Windows store app: certifying a game

The Panic Grid

As I had tested my first game developed for windows 8, The Panic Grid, and submitted it I was fairly confident it would pass all their tests. After all, I had used the Windows App Certification Kit (WACK) to test it prior to submitting it and it passed all its tests.
Well, it didn’t. Here are some of the complaints I got back:

“The app failed to resume properly from snapped view. More information on snapped views can be found here:”
I had completely missed out on the fact that an app had to be compliant with the Windows 8 snap feature. My last app has apparently made it passed this check but it could handle both landscape and portrait mode which probably explains it. This app only handles landscape.
So, what to do? Well, I had to handle it somehow and from what I could read in various forums it should be sufficient to show some kind of splash screen if the app goes into snap-mode so to speak and that’s what I did. As it is a HTML5 app I put this in my default.js file:

    window.addEventListener("resize", function (e)
    	var viewStates = Windows.UI.ViewManagement.ApplicationViewState;
    	var newViewState = Windows.UI.ViewManagement.ApplicationView.value;
    	if (newViewState === viewStates.fullScreenLandscape)
			//Handle landscape
			//Handle everything else

This was an easy way to handle the snap changes. But it didn’t solve it all together though. I also forgot to pause the game when it snapped so I had to fix that as well 🙂

When I had added the GFD project to my solution and added the RC files to it and compiled I got the following issue:
“Error RC1015: cannot open include file ‘afxresh.h’”

This was a bit easier though. The problem, and I’m no C++ expert here, is that the afxresh.h file is used for MFC (Microsoft Foundation Class) and if your project doesn’t utilize the UI controls from that package then you can simply change that include file to ‘windows.h’ instead. (for more information read this SO thread)

“One or more links, including privacy policy, websites or support contact links, provided with your submission do not resolve to a functional webpage and/or do not appear to be complete.”
This error was most likely triggered by the fact that I was linking to a page for the app that wasn’t complete. I didn’t think they actually checked them so I was going to finish it the day after but they were, it seems. Make sure that whatever content you link to is complete and correct.

“The app has declared access to network capabilities and no privacy statement was provided in the Windows Settings Charm.”
This is the standard error. Very embarrassing to get it. I had, however, forgotten to add a privacy policy to my Settings Charm. When I did, however, it turned out you couldn’t just add an external link in your default.js applicationcommands settings. I did the following thing to solve it:

    app.onsettings = function (e)
    	e.detail.applicationcommands = {
    		// Add an About command
    		"about": {
    			href: "/pages/about/about.html",
    			title: "About"
    		"tips": {
    			href: "/pages/tips/tips.html",
				title: "Tips & Tricks"


    	var vector = e.detail.e.request.applicationCommands;
    	vector.append(new Windows.UI.ApplicationSettings.SettingsCommand("privacy", "Privacy policy", function ()

“Your submission includes markets which require a rating from a recognized ratings board. Please see for more information on the ratings boards for the Windows Store. For more information on obtaining a game rating certificate, please see:”
Well, I had totally missed out on the ratings. As I wanted my game to be allowed from 7 years and older I had to get approved from a whole lot of country. The good news is that it’s fairly straight forward to get certificates for Europe, US and large parts of the countries around the world, you simply fill out some forms that are linked in the sections regarding age rating. The bad news is that if you want to get approved everywhere (such as in Germany) you have to have your game approved and tested by some comity or something. I opted out of this and just removed those countries from my list of countries to distribute my app in.

After that the game was approved so my fixes seems to work. You can find it here: