Tuesday, January 01, 2013

Installing and Testing the OakLeaf ToDo List Windows Azure Mobile Services Demo on a Surface RT Tablet


• Updated 12/31/2012 with an added permissions screen as step 2 of the Testing the OakLeaf ToDo List App with a Surface RT Tablet walkthrough, report of a problem installing the current Windows App Certification Kit for Windows RT and App Fails Initial ACK Test Due to Known Issue section.


imageIn early September 2012, I began a Windows Mobile Services Preview Walkthrough blog series, which grew to a quintet:

  1. Windows Azure Mobile Services Preview Walkthrough–Part 1: Windows 8 ToDo Demo Application (C#) - 9/8/2012
  2. Windows Azure Mobile Services Preview Walkthrough–Part 2: Authenticating Windows 8 App Users (C#) - 9/9/2012
  3. Windows Azure Mobile Services Preview Walkthrough–Part 3: Pushing Notifications to Windows 8 Users (C#) - 9/12/2012, updated 9/15/2012
  4. Windows Azure Mobile Services Preview Walkthrough–Part 4: Customizing the Windows Store App’s UI - 9/15/2012
  5. Windows Azure Mobile Services Preview Walkthrough–Part 5: Distributing Your App From the Windows Store - 9/25/2012

imageI established a Windows Store account for OakLeaf Systems and made several attempts to gain approval for the initial version of a Windows 8 ToDo Demo Application (see Part 5), which I created based on the Get Started with Mobile Services for Windows Store tutorial:


Many parts of Microsoft’s and my tutorial versions have been updated in the interim.

imageWindows Store testers were never able to run my app’s initial version through the approval regimen. So, in late December 2012, I bought a 32-GB Microsoft Surface with Windows RT (a.k.a. Surface RT) tablet in order to perform a live test of the app with Windows Azure Mobile Services running in Microsoft’s West US data center. A secondary objective was to obtain screen captures to illustrate the free Windows Store offer.

Creating the OakLeaf ToDoList Package with Visual Studio 2012

After you complete the tutorial in Visual Studio 2012 and test the app on your development machine, create a installation package for testing by doing the following (for more detailed instructions, see Rocky Lhotka’s “Testing a WinRT app on a Surface RT” section of my Installing Windows Store Apps on a Microsoft Surface for Windows RT Tablet post (update 12/30/2012):

1. Right-click the project in Solution Explorer, and choose Store, Create App Packages to start the Create App Package Wizard.

2. Select No when asked if you want to deploy the package to the Windows Store.

3. Select Neutral Release (any CPU) as the package to create in the Select and Configure Packages dialog.

4. Click Create to generate the package files in the default folder, C:\Users\UserName\My Documents\Visual Studio 2012\Projects\OakLeafToDoList\oakleaf_todo_list\AppPackages\ oakleaf_todo_list_1.0.0.0_AnyCPU_Test for this example:


5. Send the above folder and files to an OakLeaf_ToDo_List_Package.zip archive.

6. Copy the archive to a folder on your Surface RT and expand it.

Downloading the Package from My SkyDrive Account

If you haven’t completed the tutorial or would like to skip the preceding step, download the OakLeaf_ToDo_List_Package.zip archive from my SkyDrive Account at https://skydrive.live.com/redir?resid=7E9D5282B93B6501!2522 to a folder on your Surface RT and expand it.

Note: The current downloadable package version is, reflecting minor text formatting changes.

Installing the OakLeaf ToDo List App on a Surface RT Tablet

1. Right-click the Add-AppDevPackage.ps1 script and choose Run with PowerShell to start the installation process.

2. Authorize execution, answer yes when asked if you want a Developer Account Key, and follow the Wizard’s instructions. The key will be valid for three months from the date you obtain it.

3. Grant permission to install the app’s certificate (*.cer) file.

4. Complete the installation and check for the app’s tile on your Start screen:


Note: The app’s start screen tile is the modified 150 x 150 px transparent Logo.png file in your project’s Assets folder. I used Paint.NET’s Magic Wand tool to delete the white background from the original image.

Testing the OakLeaf ToDo List App with a Surface RT Tablet

The OakLeaf ToDo List app is a simple, multi-tenanted application intended to demonstrate the basic capabilities of Windows Azure Mobile Services (WAMoS) in conjunction with data storage in a Windows Azure SQL Database (formerly SQL Azure) instance. Multiple users with Microsoft Accounts can add personalized records to a ToDoItem table which stores id, text, complete, (disguised) userId and (push notification) channel values:


To test drive the app, do the following:

1. Click the OakLeaf ToDo List tile to momentarily display a splash screen:


and then open a Sign In page:


Note: Privacy and Terms link to a Microsoft privacy statement for Microsoft Accounts and terms of service for Microsoft-branded services, not the app’s privacy and terms statements required for Windows Store apps. Other authentication options provided by Windows Azure Access Control services are Facebook, Twitter, and Google accounts.

2. Complete the sign-in information and click Sign in to display, if you haven’t used your Windows Account for the app previously, the following permissions screen:


3. Click Sign In or Yes to display an acknowledgment screen with a GUID representing your Microsoft Account name:


4. Click OK to display the main (and only) page, which displays uncompleted ToDo items (see item 22 in the todoitem table screen capture above:


5. Type a ToDo item in the Insert a TodoItem text box and click the Save button to display a push notification and add the item to the Query and Update Data list:


6. Click the check box of items in the Query and Update Data list to mark it completed and remove it from the list.

7. Click the Refresh button to list currently uncompleted ToDo items.

Windows App Certification Kit (ACK) for Windows RT Won't Install

I intend to submit the app (again) to the Windows Store over the New Year holiday. As a first step, I downloaded updated versions of the:

  • Windows SDK, which includes the Windows ACK to test your app for the Windows 8 Certification Program and the Windows 7 Logo Program, as well as the Windows ACK 2.2, which is required for app submissions to the Windows Store as of December 11, 2012. Windows ACK 2.2 includes bug fixes as well as three new tests.
  • Windows App Certification Kit for Windows RT, which is a separate kit required to test Windows RT (ARM) apps.

Attempts to install the Windows RT ACK (AppCertKitArmSetup.exe) throw the following exception:


The Application event log showed no entries for the preceding issue. It isn’t yet known if this is a critical problem.

App Fails Initial ACK Test Due to Known Issue

Running the initial Application Certification Kit (ACK) 2.2 produced the following notice:


The initial report showed the app passed all tests except the following:


The preceding problem is a known issue:


The packaging process should include a test for this known issue and provide an automated workaround.

I added nongen.txt to the app package and submitted the app for listing in the Windows Store. The submission form reported “Certification Completed” and the status is waiting for Content Compliance as of 1/1/2013. I’ll update this post when I receive the result.