<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Premier Field Engineering Developer Blog</title><link>http://blogs.msdn.com/b/mspfe/</link><description>Microsoft Premier Field Engineering - Developer-oriented articles from Microsoft PFEs</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Windows Store Line-of-Business App Deployment via Windows Intune</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/06/13/windows-store-line-of-business-app-deployment-via-windows-intune.aspx</link><pubDate>Thu, 13 Jun 2013 13:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10425654</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10425654</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/06/13/windows-store-line-of-business-app-deployment-via-windows-intune.aspx#comments</comments><description>&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;:&amp;nbsp; &lt;em&gt;Did you realize there are other options for deployment of your Windows Store Application in your Enterprise other than hosting it on a share or deploying via the Windows Store?&lt;/em&gt;&amp;nbsp; Check out this video where Robert Evans talks to Mark Williams, a Microsoft Program Manager in the Enterprise Client Management Team, and learns all the details on how this is accomplished via &lt;a href="http://www.microsoft.com/en-us/windows/windowsintune/pc-management.aspx" target="_blank"&gt;&lt;strong&gt;Windows Intune&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;, a great solution for deployment and management of your Windows Store Line-of-Business Applications.&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/em&gt;&lt;em&gt;&lt;em&gt; Enjoy!&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/7558.image_5F00_564B68E5.png"&gt;&lt;img style="margin: 0px 10px 0px 0px; border: 0px currentcolor; float: left; display: inline; background-image: none;" title="Windows Intune Logo" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/7802.image_5F00_thumb_5F00_2D435A9A.png" alt="Windows Intune Logo" width="287" height="47" align="left" border="0" /&gt;&lt;/a&gt;We are joined by a special guest Mark Williams, a Microsoft Program Manager in the Enterprise Client Management team whom has worked on &lt;a href="http://www.microsoft.com/en-us/windows/windowsintune/pc-management.aspx" target="_blank"&gt;Windows Intune&lt;/a&gt; since its inception. Windows Intune is a cloud-based PC and mobile device management service. The service can be used as a &amp;ldquo;standalone&amp;rdquo; service (managed through its own administrative console) or through tight integration with &lt;a href="http://www.microsoft.com/en-us/server-cloud/system-center/system-center-2012-r2-configuration-manager.aspx" target="_blank"&gt;System Center Configuration Manager&lt;/a&gt;. The presentation and demos will have a particular focus on the how Windows 8 Line-of-Business apps can be made available to end users on Windows 8 devices without needing to publish these internal business apps to the Windows Store nor host them on a share within your intranet. The Windows Intune &lt;strong&gt;Company Portal&lt;/strong&gt; app will be used to view and install such apps, from the perspective of the end user.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://www.youtube.com/embed/MkNjnGHxSqU" frameborder="0" width="640" height="360"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;See also &lt;a href="http://blogs.msdn.com/b/mspfe/archive/2013/05/06/top-5-reasons-your-windows-store-app-fails-store-certification.aspx" target="_blank"&gt;Top 5 Certifications Blockers&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/mspfe/archive/2013/05/19/windows-rt-activation-pitfalls.aspx" target="_blank"&gt;How To Avoid WinRT Activation Pitfalls&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Article written by &lt;/em&gt;&lt;a href="http://blogs.msdn.com/b/mspfe/archive/tags/robert+evans/" target="_blank"&gt;&lt;em&gt;Robert Evans&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and &lt;/em&gt;&lt;a href="http://blogs.msdn.com/b/mspfe/archive/tags/christophe+nasarre/" target="_blank"&gt;&lt;em&gt;Christophe Nasarre&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10425654" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Robert+Evans/">Robert Evans</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Christophe+Nasarre/">Christophe Nasarre</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store+App/">Windows Store App</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WinRTDevSeries/">WinRTDevSeries</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Intune/">Windows Intune</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Mark+Williams/">Mark Williams</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Deployment/">Deployment</category></item><item><title>How to Avoid WinRT Activation Pitfalls</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/05/19/windows-rt-activation-pitfalls.aspx</link><pubDate>Sun, 19 May 2013 20:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10419950</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10419950</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/05/19/windows-rt-activation-pitfalls.aspx#comments</comments><description>&lt;hr style="width: 1px;" width="1" /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;: If you're trying to get your Windows Store App published in the Windows Store and running into application submission failures, check out the great insight provided by Christophe Nasarre (a Microsoft Premier Field Engineer). In this article he walks us through application startup issues and how (and when) to use extended splash screens to get around these, along with other valuable nuggets. As well, he&amp;rsquo;s provided the following video to walk you through all of the details.&amp;nbsp; Watch the video, read the post, and start making money with your apps!&lt;/em&gt; &lt;iframe src="http://www.youtube.com/embed/3NEmLpYlGRE" frameborder="0" width="640" height="360"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;hr /&gt;&lt;hr style="width: 1px;" width="1" /&gt;
&lt;p&gt;Windows 8 offers new ways for a user to activate a Windows Store Application; from tapping its tile in the Start Screen, to starting a Search query or even picking it as a Share target. Each time, the application is supposed to start quickly and with a consistent set of data: these requirements are pitfalls you need to avoid in your code.&lt;/p&gt;
&lt;h2&gt;Application startup and extended splash screen&lt;/h2&gt;
&lt;p&gt;During our &lt;a href="http://blogs.msdn.com/b/mspfe/archive/2013/05/06/top-5-reasons-your-windows-store-app-fails-store-certification.aspx" target="_blank"&gt;first episode&lt;/a&gt;, Robert Evans mentioned that the number #3 cause of Windows Store Application submission failure is due to performance problems. One of the issues that would make your App rejected is if it does not display a windows five second after the user starts it.&lt;/p&gt;
&lt;p&gt;This scenario is checked by the &lt;em&gt;Windows Application Certification Toolkit&lt;/em&gt;. As a reminder, it is mandatory that you run this tool before submitting your Application or an update to the Store for validation. You can easily run this tool on your application by right-clicking your project in Visual Studio and select Store | Create App Packages. Then, select No in the first dialog because you don&amp;rsquo;t want to directly publish to the Store&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/2476.clip_5F00_image001_5F00_2D64A1B4.png"&gt;&lt;img style="display: inline; background-image: none;" title="Create App Packages Dialog" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/6404.clip_5F00_image001_5F00_thumb_5F00_4830C7C0.png" alt="Create App Packages Dialog" width="679" height="552" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next, you select a Release configuration&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/1512.clip_5F00_image002_5F00_2BB8F742.png"&gt;&lt;img style="display: inline; background-image: none;" title="Configure App Packages" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/5822.clip_5F00_image002_5F00_thumb_5F00_7408CDC2.png" alt="Configure App Packages" width="679" height="553" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And click the Create button to let Visual Studio generate the package. After this final step, click the Launch Windows App Certification Kit button&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/2514.clip_5F00_image004_5F00_3153C54E.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Launch Windows App Certification Kit button " src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/0830.clip_5F00_image004_5F00_thumb_5F00_3AD1A526.jpg" alt="Launch Windows App Certification Kit button " width="679" height="159" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;and leave your machine alone while the lengthy checks are executed.&lt;/p&gt;
&lt;p&gt;In case of error, the report generated by the tool is not very explicit to pin point this specific issue. You need to navigate to the &lt;em&gt;Performance Launch&lt;/em&gt; section to find the corresponding failure&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;FAILED&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Performance launch&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;middot; &lt;strong&gt;Error Found: &lt;/strong&gt;The performance launch test collected the following results:.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: courier new;"&gt;Application Error: Application Launch was not detected for application App. &lt;strong&gt;This could be because your application failed to launch correctly&lt;/strong&gt;. Please consider re-running the test and avoid interacting with the application while tests are running.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;When you read &amp;ldquo;&lt;em&gt;This could be because your application failed to launch correctly&lt;/em&gt;&amp;ldquo; it means that your application failed to display a window in less than five seconds after it was activated.&lt;/p&gt;
&lt;p&gt;In a perfect world, this five seconds restriction might not be a problem to solve. However, most of the applications need to download part of their content from the Internet and you never know how bad the connection will be. And during that processing, you don&amp;rsquo;t want to display an empty main page!&lt;/p&gt;
&lt;p&gt;So, the question is: how to fulfill the five second requirement so my application will be successfully validated by the Windows Store while providing a compelling user experience? Well&amp;hellip; just display a waiting screen before navigating to your main page once the data has been fetched! This special screen is called an extended splash screen.&lt;/p&gt;
&lt;p&gt;An implementation is available in &lt;a href="http://code.msdn.microsoft.com/windowsapps/Splash-screen-sample-89c1dc78" target="_blank"&gt;the Windows SDK web site&lt;/a&gt; and my updated version can be &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52/7455.WinRTActivationPitfallsSourceCode.zip"&gt;found here&lt;/a&gt;. This code sample leverage the first background that Windows displays for us when the application gets started. This is built based on the splash screen asset that we define in the manifest file. It is centered in the screen on a background filled with the color also set in the manifest.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/4606.clip_5F00_image006_5F00_27B3092B.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Splash Screen Sample" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/6567.clip_5F00_image006_5F00_thumb_5F00_067FC0F7.jpg" alt="Splash Screen Sample" width="679" height="523" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition to showing an animated progress ring, the ExtendedSplash class is a Grid UI element that positions the splash bitmap asset on the screen. This cannot be done at compile time because it depends on the screen size of the device where the application will run. Hopefully, Windows provides this piece of information in the LaunchedActivatedEventArgs passed to the OnLaunched application override: its ImageLocation property is the rectangle where the bitmap has been displayed on the screen by Windows.&lt;/p&gt;
&lt;p&gt;When the lengthy initialization is over, the code simply creates a frame and uses it to navigate to its main page. Et voila!&lt;/p&gt;
&lt;p&gt;Before going to the next pitfall, I would like to be clear: an extended splash screen is really the last solution to choose because the more the end user will wait in front of such a waiting page, the worse the experience will be. It is recommended to bring as much content as possible in the application package submitted to the Store to avoid this type of slow start. And if this is not enough, you can think of downloading content while the application is running or with background tasks and save it locally to speed up the next launch of the application. Don&amp;rsquo;t forget: your application should be fast and fluid to be successful!&lt;/p&gt;
&lt;h2&gt;Supporting multiple activations with VS templates&lt;/h2&gt;
&lt;p&gt;Visual Studio provides templates for Windows Store Apps skeleton projects. Templates for implementing main contracts are also available with the Add New Item command on a project.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/2148.clip_5F00_image007_5F00_5B5FD544.png"&gt;&lt;img style="display: inline; background-image: none;" title="Templates for implementing main contracts " src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/2112.clip_5F00_image007_5F00_thumb_5F00_5CC688C7.png" alt="Templates for implementing main contracts " width="679" height="384" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition to updating the project manifest file and creating new pages for the UI, new override methods are added to the application class. Each one is called when each different activation mechanism is triggered as shown in the following list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tile tapped in the Start Screen: OnLaunched&lt;/li&gt;
&lt;li&gt;Chosen for a Search query: OnSearchActivated&lt;/li&gt;
&lt;li&gt;Selected as a Share target: OnShareTargetActivated&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The code generated by Visual Studio for the OnSearchedActivated override does its best to handle most of the activation scenario:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It checks that a frame has not been created already (i.e. the application is already running when the search is triggered)&lt;/li&gt;
&lt;li&gt;If the frame is not created, a new one is instantiated&lt;/li&gt;
&lt;li&gt;Then, the frame navigates to the SearchResult page before being displayed on the screen&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This sounds good except for the scenario #2: the application was not running, so the main page was not navigated to by the frame and only the SearchResult page will be available to the user: no BACK button. Even worse, the internal object model of the application that is defined in the SampleDataSource class was not initialized!&lt;/p&gt;
&lt;p&gt;To solve this problem, you just have to copy the code in the OnLaunched override that navigate to the main page: it will add it into the page stack of the frame (making visible the BACK button in the SearchResult page) and the SampleDataSource will be setup (done in the LoadState override of the GroupedItemsPage when navigating to the main page) as shown in the following code excerpt:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0000ff; font-size: 9.5pt;"&gt;protected&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;async&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;void&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt; OnSearchActivated(Windows.ApplicationModel.Activation.&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0080c0;"&gt;SearchActivatedEventArgs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;args)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt; (frame == &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #008080; font-size: 9.5pt;"&gt;// WSA-CN: don't forget to add the main page to the frame stack &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #008080;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;//&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;before navigating to the Search result page&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #008080;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;//&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt; that way, the BACK button will be visible &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #008080;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;//&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;in the Search result page&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #008080;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;//&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;as a side effect, this navigation will initialize &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #008080;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;//&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;the internal object model stored in the SampleDataSource class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt; (!frame.Navigate(&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0000ff;"&gt;typeof&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;(&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0080c0;"&gt;GroupedItemsPage&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;), &lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;"&lt;span style="color: #ff0000;"&gt;AllGroups&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;throw&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="color: #0080c0;"&gt;Exception&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;(&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;"&lt;span style="color: #ff0000;"&gt;Failed to create initial page&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span style="background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 8pt; line-height: 12pt; list-style-type: disc;"&gt;&lt;span style="line-height: 10pt; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-ansi-language: en-gb;" lang="EN-GB"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh694081.aspx" target="_blank"&gt;Testing your app with the Windows App Certification Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/windowsapps/Splash-screen-sample-89c1dc78" target="_blank"&gt;Windows SDK Splash Screen sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52/7455.WinRTActivationPitfallsSourceCode.zip" target="_blank"&gt;Source code for this post&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10419950" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Robert+Evans/">Robert Evans</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Certification/">Certification</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Christophe+Nasarre/">Christophe Nasarre</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store+App/">Windows Store App</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Activation/">Activation</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WinRTDevSeries/">WinRTDevSeries</category></item><item><title>Top 5 Reasons Your Windows Store App Fails Store Certification</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/05/06/top-5-reasons-your-windows-store-app-fails-store-certification.aspx</link><pubDate>Mon, 06 May 2013 13:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10416333</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10416333</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/05/06/top-5-reasons-your-windows-store-app-fails-store-certification.aspx#comments</comments><description>&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;:&amp;nbsp; Whether you're trying to get your Windows Store App certified in the Windows Store and running into blockers, or simply writing a new app for Windows 8 that you expect to publish via the Windows Store, check out the great insight provided by Robert Evans and Christophe Nasarre (two Microsoft Premier Field Engineers) in this article on the primary culprits you might run into when it comes to the certification process.&amp;nbsp; They are technical leads for Windows Store App Labs and they provide a multitude of tips and pointers to some great resources.&amp;nbsp; If that&amp;rsquo;s not enough, they also have the following video to walk you through some of the details.&amp;nbsp; Watch the video, read the post, be informed!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://www.youtube.com/embed/pd_vRJ-UQYs" frameborder="0" width="640" height="360"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;When submitting your app to the Windows Store (&lt;a href="http://www.windowsstore.com"&gt;http://www.windowsstore.com&lt;/a&gt;) you may encounter issues with &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx" target="_blank"&gt;Store Certification&lt;/a&gt;. These are the top 5 most common Store Certification blockers that we&amp;rsquo;ve seen in our &lt;a href="http://www.windowsstore.com/applabs"&gt;Windows Store App Labs&lt;/a&gt; &amp;ndash; and how you can fix them. Let&amp;rsquo;s count-down in reverse order:&lt;/p&gt;
&lt;h2&gt;Number 5: Your App Should be Fully Functional&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Certification requirement 1.2: &amp;ldquo;App must be fully functional&amp;rdquo; (also similar failure is related to certification requirement 3.2 &amp;ldquo;Your app must not stop responding, end unexpectedly, or contain programming errors&amp;rdquo;).&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you are failing on this certification requirement there are some things you should check:&lt;/p&gt;
&lt;blockquote&gt;&lt;ol&gt;
&lt;li&gt;Have you tested your App Snapped? Are there overlapping icons in your app bar while snapped?&lt;/li&gt;
&lt;li&gt;Does the charms menu cover up any critical commands?&lt;/li&gt;
&lt;li&gt;If you&amp;rsquo;ve declared your app as supporting portrait and landscape &amp;ndash; does it?&lt;/li&gt;
&lt;li&gt;Does your submitted description talk about features you haven&amp;rsquo;t implemented yet? Does your app crash at any point?&lt;/li&gt;
&lt;li&gt;If the app plays background audio does it implement play, pause, and play/pause events to enable users to control audio playback?&lt;/li&gt;
&lt;li&gt;If your app has &amp;ldquo;login&amp;rdquo; functionality did you create a test user account and provide the username/password in the &amp;ldquo;Notes to Testers&amp;rdquo; field when you submit your application?&lt;/li&gt;
&lt;li&gt;Does the app work on all the architectures such as ARM that you checked off and claim to support when you submitted your app?&lt;/li&gt;
&lt;li&gt;Have you run the Windows App Cert Kit against your app &amp;ndash; and from an ARM device such as Surface?&lt;/li&gt;
&lt;/ol&gt;&lt;/blockquote&gt;
&lt;h2&gt;Number 4: Localize Appropriately&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Certification requirement 6.5: &amp;ldquo;You must localize your app for all languages that it supports.&amp;rdquo;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is different than specifying Markets. Your supported language may differ from the Markets, and Markets are specified when submitting your app under &amp;ldquo;Selling Details.&amp;rdquo;&amp;nbsp; For example, if you open Package.apppxmanifest and under your &amp;lt;Resources&amp;gt; specify &amp;lt;Resource Language="x-generate" /&amp;gt; then Visual Studio will automatically add the languages your app supports based on the discovered resources when generating your final manifest. The important thing with regards to certification is that you support at least &lt;a href="http://aka.ms/gxdeut" target="_blank"&gt;one of the allowed 37 certification languages&lt;/a&gt;. You may support any number of the 66 total allowed languages, but at least one language must be one of the allowed certification languages for testing purposes. Be sure that all of your images are also localized &amp;ndash; if you have any images that contain text they should be localized.&lt;/p&gt;
&lt;h2&gt;Number 3: Performance&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Certification requirement 3.8: &amp;ldquo;Your app must meet the basic performance criteria on a low-power computer - the app must launch in 5 seconds or less and the app must suspend in 2 seconds or less.&amp;rdquo;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Runtime broker suspends all threads of any Windows Store App that is not in the forefront. If your app takes more than the allotted time to save state while suspending or takes too long while loading then the your app will be terminated. Typically this failure is uncovered by testing with the latest version of the &lt;a href="http://msdn.microsoft.com/en-us/windows/apps/jj572486.aspx" target="_blank"&gt;Windows App Cert Kit&lt;/a&gt; which does automated tests of this. Failing on this requirement results in a technical compliance failure. In some cases people run the Windows App Cert Kit on their developer machine but when they submit to the store they still fail with this issue. That is why we recommend running the Windows App Cert Kit against your app on different hardware &amp;ndash; including on an ARM device such as &lt;a href="http://www.surface.com" target="_blank"&gt;Surface&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Then the question is what are you doing in your app when you are loading and when you are suspending? If you are talking to webservices perhaps it works on your local machine but not when you upload as performance may vary based on different network capability. You should avoid any long operations when loading and when suspending and save state only locally. LocalSettings is a keyvalue pair that can be used that saves locally. RoamingSettings saves locally first and then synchs at a later date so that too is a great way to save data &amp;ndash; and it is easy to change the default backing store of the SuspensionManager to RoamingSettings (see &lt;a href="http://aka.ms/vrrplb"&gt;http://aka.ms/vrrplb&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;If you find your initial loading is taking a long time due to heavy operations such as xml serialization then check out the &lt;a href="http://code.msdn.microsoft.com/windowsapps/Splash-screen-sample-89c1dc78" target="_blank"&gt;MSDN Splashcreen Sample&lt;/a&gt;. They load the app and then create a fake splashscreen while they continue heavy loading operations &amp;ndash; that&amp;rsquo;s one way to get around the time limitations.&lt;/p&gt;
&lt;p&gt;Another common issue related to performance is when navigating pages within your app &amp;ndash; you should only use simple types for your navigation parameters &amp;ndash; such as Strings or Ints.&lt;/p&gt;
&lt;h2&gt;Number 2: Primary Experiences Stay Within The App&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Certification requirement 2.4: &amp;ldquo;The primary experiences your app provides must take place within the app.&amp;rdquo;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This was a very common failure reason particularly in the first wave of Windows Store Apps and it is still common today. You should not redirect the user to the web browser to complete one of your primary scenarios. In our labs we recommend developers document their five primary scenarios for testing and include them in their tester notes with each step and a &amp;ldquo;scenario complete&amp;rdquo; at the end.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s okay to redirect the user to the browser or even embedded browser for other scenarios in your app such as submitting help requests or tutorials and such &amp;ndash; but it&amp;rsquo;s not okay for your primary scenarios. You should not take them out to a browser nor should you use an embedded browser.&lt;/p&gt;
&lt;p&gt;The reason is simple &amp;ndash; if you are using a browser to complete your primary scenario &amp;ndash; then it is arguable that your app should be a website and not an app.&lt;/p&gt;
&lt;h2&gt;Number 1:&amp;nbsp; Privacy-Related Requirements&lt;/h2&gt;
&lt;p&gt;Drum roll please&amp;hellip; the number one top failure reason for Windows Store Certification is&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Certification requirement&lt;/strong&gt; &lt;strong&gt;4.1: &amp;ldquo;Your app must comply with the following privacy-related requirements&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Why do so many people fail on this? By default in Visual Studio, Windows Store App templates have the Internet (Client) capability declared. When this is declared &amp;ndash; even if you aren&amp;rsquo;t using it &amp;ndash; you must have a Privacy Statement and it must be available from the Settings Flyout. That Privacy Statement can be a link to your online Privacy Statement or another page within your app that lists the Privacy Statement. If you are not using the network you can simply disable that capability to avoid this requirement. Otherwise it is easy enough to add a settings flyout. There are examples on &lt;a href="http://code.msdn.microsoft.com/windowsapps/App-settings-sample-1f762f49" target="_blank"&gt;MSDN&lt;/a&gt; or see Tim Heuer&amp;rsquo;s excellent free &lt;a href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;frm=1&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CDAQFjAA&amp;amp;url=https%3A%2F%2Fgithub.com%2Ftimheuer%2Fcallisto&amp;amp;ei=Mi6EUc30O4L2iwLIzoGYDA&amp;amp;usg=AFQjCNFlOXB6u_LJl50X-uSlgyHkVp84Zg&amp;amp;sig2=MZwLjs3TktYQOzHn1IrlKg&amp;amp;bvm=bv.45960087,d.cGE" target="_blank"&gt;Callisto&lt;/a&gt; controls also available as a Nuget package.&lt;/p&gt;
&lt;p&gt;In that similar category of failure reasons &amp;ndash; if you are selling your app &amp;ndash; you must also have a help and support section. There are three acceptable help and support options. A telephone, an email address (and they will test if it is a working address) or a webform. The help and support can be a separate link from your Settings flyout or it can be within your About section (also linked in your Settings flyout).&lt;/p&gt;
&lt;h2&gt;Finally&amp;hellip;&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve followed these pointers and you&amp;rsquo;ve checked the Windows Store Apps &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/category/windowsapps" target="_blank"&gt;Forums&lt;/a&gt; and you are still blocked on Store Certification &amp;ndash; please don&amp;rsquo;t sit there in frustration depriving the world of your amazing app!&lt;/p&gt;
&lt;p&gt;Please either visit one of our free Windows Store App Labs (&lt;a href="http://www.windowsstore.com/applabs" target="_blank"&gt;www.windowsstore.com/applabs&lt;/a&gt;) or follow the instructions below to get fast assistance. There&amp;rsquo;s even a &amp;ldquo;chat&amp;rdquo; option!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1)&amp;nbsp;&amp;nbsp;&amp;nbsp; Visit the URL: &lt;a href="http://aka.ms/storesupport" target="_blank"&gt;http://aka.ms/storesupport&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp; Towards the bottom of the page, there is a link that says &amp;ldquo;&amp;hellip;&lt;a href="https://getsupport.microsoft.com/?locale=EN-US&amp;amp;supportregion=EN-US&amp;amp;ccfcode=US&amp;amp;mkt=EN-US&amp;amp;pesid=14654&amp;amp;oaspworkflow=start_1.0.0.0&amp;amp;tenant=store&amp;amp;supporttopic_L1=31762159&amp;amp;supporttopic_L2=31762160" target="_blank"&gt;contact us&lt;/a&gt; immediately.&lt;strong&gt;&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;3)&amp;nbsp;&amp;nbsp;&amp;nbsp; Click that link and then it will ask you to choose the support type. To reach the App Certification team choose the following:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Problem Type: &amp;ldquo;App Submission and Certification&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Category: &amp;ldquo;Submitting an app&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Once you do that chose an option for support such as &amp;ldquo;Request a Call&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/2480.clip_5F00_image0024_5F00_01BA7314.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Windows Store Certification Developer Support Options" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/8360.clip_5F00_image0024_5F00_thumb_5F00_7CD7BF57.jpg" alt="Windows Store Certification Developer Support Options" width="699" height="363" border="0" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10416333" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Robert+Evans/">Robert Evans</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Certification/">Certification</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Christophe+Nasarre/">Christophe Nasarre</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store+App/">Windows Store App</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WinRTDevSeries/">WinRTDevSeries</category></item><item><title>Windows Store App Development, with Christophe</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/04/05/windows-store-app-development-with-christophe.aspx</link><pubDate>Fri, 05 Apr 2013 01:21:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10407814</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10407814</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/04/05/windows-store-app-development-with-christophe.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://iinspectable.wordpress.com/"&gt;Christophe Nasarre-Soulier&lt;/a&gt; is a development-focused PFE I’ve worked via the Windows Store App Labs program.&lt;/p&gt;  &lt;p&gt;As part of that program, we provide design and development assistance to Windows Store App developers across the world, and gained a lot of exposure to common questions, issues, and techniques.&lt;/p&gt;  &lt;p&gt;Christophe’s been busy blogging some of his learnings on Windows Store Apps – including (naughty!) testing-only features that are fun to play with in local development environments but that won’t pass Store certification requirements – and has a veritable smorgasbord of posts for you to consume.&lt;/p&gt;  &lt;p&gt;First up, his series on &lt;a href="http://iinspectable.wordpress.com/2013/03/01/inter-process-communication-with-winrt-part-1/"&gt;inter-process communication with Windows Store Apps&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Since the pre-release of Windows 8 at the Microsoft BUILD conference in 2011, I’ve been investigating the different ways for a Windows Store App (WSA in the rest of the post) to interact with either other WSAs or Desktop Apps (DA in the rest of the post). Unlike .NET that was built from the beginning with &lt;/em&gt;&lt;a href="http://www.amazon.com/NET-COM-Complete-Interoperability-Guide/dp/067232170X"&gt;&lt;em&gt;interoperability in mind&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, WinRT is another beast.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;A Microsoft collegue has been &lt;/em&gt;&lt;a href="http://apps.microsoft.com/windows/app/windows-8-company-store/9b22e9ba-50cc-4e0c-8aa6-c84d351c4ddb"&gt;&lt;em&gt;working on a WSA&lt;/em&gt;&lt;/a&gt;&lt;em&gt; that makes it simple to deploy and launch applications in an enterprise environment (visit &lt;/em&gt;&lt;a href="http://companystore.codeplex.com/"&gt;&lt;em&gt;http://companystore.codeplex.com/&lt;/em&gt;&lt;/a&gt;&lt;em&gt; for more details). However, some actions are not allowed from a WSA such as looking for installed WSAs and launch them. This was a great opportunity to turn my research into real code. I’m sharing the outcome in a few blog posts starting with this one.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The first post (linked above) covers the basics of possible interaction mechanisms between Windows Store apps (file associations and protocol handlers), and it’s a quick, helpful read.&lt;/p&gt;  &lt;p&gt;The second post &lt;a href="http://iinspectable.wordpress.com/2013/03/08/inter-process-communication-with-file-association-in-winrt-part-2/"&gt;delves deeply into using file associations&lt;/a&gt; to allow app activation outside the bounds of a Windows Store App into a desktop app – with the requisite warning that you can’t do this in a Store-published app:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;WARNING&lt;/font&gt;: all these techniques are violating the point 3.1 from the &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx"&gt;&lt;em&gt;Windows Store Requirements&lt;/em&gt;&lt;/a&gt;&lt;em&gt; that states: “Your app may only depend on software listed in the Windows Store“. Therefore, you should not use them for a WSA that you plan to publish into the Windows Store because it will be rejected.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It’s a fascinating look into the internals of how file association activation works.&lt;/p&gt;  &lt;p&gt;Christophe’s back-catalogue covers lots of other WinRT-related goodness, from &lt;a href="http://iinspectable.wordpress.com/2013/02/02/wsals_guidelines_and_requirements_for_windows_store_apps_development/"&gt;Windows Store checklists to make it easier to make great Windows Store apps&lt;/a&gt;, to a &lt;a href="http://iinspectable.wordpress.com/2012/08/12/missing-bcl-types-in-winrt/"&gt;tool that identifies BCL classes available vs excluded from WinRT and the .Net Framework 4.5&lt;/a&gt;. Enjoy!&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Posted by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://blogs.technet.com/b/tristank/"&gt;&lt;em&gt;&lt;font size="1"&gt;Tristan Kington&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;, MSPFE Editor that just got to use the word “smorgasbord” in a serious context&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10407814" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WinRT/">WinRT</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/-Net/">.Net</category></item><item><title>Taming XML query performance using persisted computed columns</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/03/26/taming-xml-query-performance-using-persisted-computed-columns.aspx</link><pubDate>Tue, 26 Mar 2013 09:58:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10405360</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10405360</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/03/26/taming-xml-query-performance-using-persisted-computed-columns.aspx#comments</comments><description>&lt;p&gt;Storing data in XML format has presented a &lt;a href="http://en.wikipedia.org/wiki/Conundrum" target="_blank"&gt;conundrum&lt;/a&gt; to SQL developers from time to time. While storing it is easy, how does one efficiently extract those pieces of data which are needed from the XML field?&lt;/p&gt;  &lt;p&gt;My friend and PFE colleague from Dubai, &lt;a href="http://blogs.msdn.com/b/batuhanyildiz/about.aspx" target="_blank"&gt;Batuhan Yildiz,&lt;/a&gt; had faced this situation recently. He shares his experiences on the performance impact of retrieving specific data from the XML field, and presents an interesting way of solving the issue by using persisted computed columns. Read the details at his &lt;a href="http://blogs.msdn.com/b/batuhanyildiz/archive/2013/03/21/which-one-is-better-persisted-column-or-xml-indexes.aspx" target="_blank"&gt;blog here&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;   &lt;hr /&gt;&lt;em&gt;Linked content authored by &lt;a href="http://blogs.msdn.com/b/batuhanyildiz/about.aspx" target="_blank"&gt;Batuhan Yildiz&lt;/a&gt;; posted by &lt;a href="http://blogs.msdn.com/b/arvindsh" target="_blank"&gt;Arvind Shyamsundar&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10405360" width="1" height="1"&gt;</description></item><item><title>The case of the broken AppFabric</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/03/22/the-case-of-the-broken-appfabric.aspx</link><pubDate>Fri, 22 Mar 2013 09:36:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10404482</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10404482</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/03/22/the-case-of-the-broken-appfabric.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;This article has been contributed by Vasco Preto, a Premier Field Engineer with Microsoft Portugal. Vasco is no stranger to MSPFE, having previously contributed a very interesting case study on our TechNet blog. This time he shares a captivating walkthrough on how to troubleshoot AppFabric caching services.&lt;/em&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;I’ve been recently involved in troubleshooting a production problem reported by a customer which revolved around a generic error that was preventing client applications from successfully establishing a connection to the &lt;a href="http://msdn.microsoft.com/en-us/windowsserver/gg675186" target="_blank"&gt;AppFabric – Caching Services&lt;/a&gt; layer. Here’s a quick recap of what the exact symptoms were and the analysis and diagnostic that resulted from the troubleshooting effort.&lt;/p&gt;  &lt;h2&gt;&lt;b&gt;Problem description &lt;/b&gt;&lt;/h2&gt;  &lt;p&gt;The client presented a specific case where a set of recently deployed client applications were unable to connect to the AppFabric – Caching Services layer. This specific error was generating the following message (extracted from the event logging system).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;{Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode&amp;lt;ERRCA0017&amp;gt;:SubStatus&amp;lt;ES0006&amp;gt;:There is a temporary failure. Please retry later. (One or more specified Cache servers are unavailable, which could be caused by busy network or servers. Ensure that security permission has been granted for this client account on the cluster and that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Retry later.)&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Furthermore, the client stated that this error was only affecting a subset of client applications and these specific client applications had functioned correctly in the past and, supposedly, they had not been subjected to any change recently.&lt;/p&gt;  &lt;h2&gt;&lt;b&gt;Analysis&lt;/b&gt;&lt;/h2&gt;  &lt;h3&gt;Step 1: Check for known issues&lt;/h3&gt;  &lt;p&gt;Considering the starting point, which was little more than a fairly generic message, I did a quick search through existing KB articles in an attempt to clarify which conditions could actually lead to this type of error. Unfortunately, this quick research did not produce a more defined and limited scope to investigate, as there are many different conditions that can lead to problems which are reported through error code &lt;code&gt;ERRCA0017&lt;/code&gt; and sub-status code &lt;code&gt;ES0006&lt;/code&gt;.&lt;/p&gt;  &lt;h3&gt;Step 2: Check if the AppFabric cluster is running&lt;/h3&gt;  &lt;p&gt;Considering that the client was describing the problem as a connection error between client applications and AppFabric server, I started off my direct troubleshooting effort by verifying that the AppFabric cluster was in fact up and running. Using some administrative PowerShell commands I concluded that the AppFabric server was in fact working properly (commands used include &lt;code&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;Get-CacheClusterHealth&lt;/font&gt;&lt;/code&gt;,&lt;code&gt; &lt;font style="background-color: rgb(204, 204, 204);"&gt;Get-Cache&lt;/font&gt; &lt;/code&gt;and&lt;code&gt; &lt;font style="background-color: rgb(204, 204, 204);"&gt;Get-CacheStatistics&lt;/font&gt;&lt;/code&gt;).&lt;/p&gt;  &lt;p&gt;Afterwards, I verified if I could in fact establish a TCP connection between client and server machines through the AppFabric port, which is port 22233. By using a simple telnet client utility I did in fact verify that the client application was able to connect to the server through port 22233. However, when that connection was established through AppFabric’s client libraries the previously showed error would appear.&lt;/p&gt;  &lt;h3&gt;Step 3: Gathering network traces&lt;/h3&gt;  &lt;p&gt;At this point, I was able to get a few network traces supplied by the customer’s operations team. As shown in the following image, which depicts the filtered frames that pertain to the action of establishing the AppFabric connection (filtered by client and server IP addresses), we can clearly see two things:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The initial TCP/IP handshake between client and server was correctly established.&lt;/li&gt;    &lt;li&gt;A few frames after the handshake, the server reset the connection.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/8662.clip_5F00_image002_5F00_45D03B70.jpg"&gt;&lt;img title="Analysing the network trace" style="display: inline; background-image: none;" border="0" alt="Analysing the network trace" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/6521.clip_5F00_image002_5F00_thumb_5F00_114F6928.jpg" width="654" height="410" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Step 4: Drilling down into the network trace&lt;/h3&gt;  &lt;p&gt;Continuing within the network trace, and following the TCP stream regarding these frames, I could drill down on a bit more information. As seen in the next image, the information contained within the network trace showed a few more interesting pieces of information:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Information regarding the client and its credentials.&lt;/li&gt;    &lt;li&gt;Identification of the server to which the communication was being established.&lt;/li&gt;    &lt;li&gt;References to authentication protocols.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/7585.clip_5F00_image004_5F00_2EE14427.jpg"&gt;&lt;img title="More details from network trace" style="display: inline; background-image: none;" border="0" alt="More details from network trace" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/6683.clip_5F00_image004_5F00_thumb_5F00_4C731F26.jpg" width="654" height="410" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Step 5: Checking which accounts have access to AppFabric&lt;/h3&gt;  &lt;p&gt;At this point, I discussed the situation with the customer and we both agreed that the problem seemed to be related with client credentials and inherent authentication process. Going back to the PowerShell administration console, we analyzed which accounts had been granted access to AppFabric. As shown in the next output, the existing configuration was apparently allowing a wide open access to all client credentials.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;PS C:\Windows\system32&amp;gt; Get-CacheAllowedClientAccounts          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;EVERYONE          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;ANONYMOUS LOGON&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Despite this configuration, I queried the customer about the exact credentials that the client was sending (which were also identifiable in the previously shown TCP stream – please note reference to local machine) and we concluded that the client application was using a local account. As such, the customer agreed to change the client credentials and the client application was reconfigured to use a domain account.&lt;/p&gt;  &lt;h3&gt;Step 6: AppFabric logging and ETW&lt;/h3&gt;  &lt;p&gt;Unfortunately this change did not fix the problem so we analyzed other available troubleshooting options and decided that we needed to get more logging data from AppFabric. By the way, this avenue has impact as it requires restarting the cache service, which implies temporarily restarting one of the cache cluster nodes, and hence temporarily affecting performance (other cache nodes are not directly affected, but regions within this node will ultimately need to be re-populated from ground up afterwards). After some debate, the client accepted this route and we performed two actions.&lt;/p&gt;  &lt;p&gt;Firstly, we changed the logging level of the caching service by adding the following configuration elements to its configuration file (file DistributedCacheService.exe.config).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;lt;system.diagnostics&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;sources&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;source name=&amp;quot;System.ServiceModel&amp;quot;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; switchValue=&amp;quot;Information, ActivityTracing&amp;quot;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; propagateActivity=&amp;quot;true&amp;quot;&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listeners&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;add name=&amp;quot;traceListener&amp;quot;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; type=&amp;quot;System.Diagnostics.XmlWriterTraceListener&amp;quot;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; initializeData= &amp;quot;c:\Temp\DistributedCacheService.svclog&amp;quot; /&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/listeners&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/source&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/sources&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;trace autoflush=&amp;quot;true&amp;quot; /&amp;gt;          &lt;br /&gt;&lt;/font&gt;&lt;/i&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;#160; &amp;lt;/system.diagnostics&amp;gt;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Secondly, we activated ETW for AppFabric through the following command line:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;tracelog.exe -start debugtrace -f &amp;quot;c:\Temp\cachedebugtrace.etl&amp;quot; -guid &amp;quot;c:\Windows\System32\AppFabric\Manifests\ProviderGUID.txt&amp;quot; -level 5 -cir 512&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Step 7: Analyzing ETW&lt;/h4&gt;  &lt;p&gt;After acquiring the ETW log we transformed it into a CSV file through the command: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;tracerpt &amp;quot;c:\Temp\cachedebugtrace.etl&amp;quot; -o &amp;quot;c:\Temp\cachedebugtrace.csv&amp;quot; -of CSV&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And by analyzing its contents we were able to find some interesting information such as:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;font style="background-color: rgb(204, 204, 204);"&gt;&amp;quot;Recoverable exception raised - ChannelID = 29180324 System.ServiceModel.ProtocolException: Stream Security is required at http://www.w3.org/2005/08/addressing/anonymous, but no security context was negotiated. This is likely caused by the remote endpoint missing a StreamSecurityBindingElement from its binding. at System.ServiceModel.Channels.ServerSessionPreambleConnectionReader.ServerFramingDuplexSessionChannel.SetupSecurityIfNecessary() at System.ServiceModel.Channels.ServerSessionPreambleConnectionReader.ServerFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at Microsoft.ApplicationServer.Caching.WcfServerChannel.Listen(IAsyncResult result)&amp;quot;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Interestingly, this message hints that there is something definitely wrong with the security context, but not necessarily implying problems with credentials. It also suggests that there are some issues with the underlying WCF transport that is used between client application and AppFabric server whenever the AppFabric API is used. &lt;/p&gt;  &lt;p&gt;The error message is almost clear to the point that it identifies the lack of a required security context, which results in a binding error to an existing WCF endpoint. To confirm this we opened the log file (the &lt;code&gt;svclog&lt;/code&gt; file generated by the changes introduced in the distributed cache service configuration file) which confirmed what had been established so far (as shown in the following picture).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/4024.image_5F00_58286658.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/8737.image_5F00_thumb_5F00_0C9912D4.png" width="654" height="410" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In possession of all this information we went back to the configuration files of both client application and AppFabric server and concluded that there was indeed a mismatch, as the client configuration (contrary to what was defined in the server side configuration) was using &lt;code&gt;None&lt;/code&gt; as the configuration value for both &lt;code&gt;securityMode&lt;/code&gt; and &lt;code&gt;protectionLevel &lt;/code&gt;(more information on these options can be found &lt;a href="http://msdn.microsoft.com/en-us/library/ff921012(v=azure.10).aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Finally, the solution!&lt;/h2&gt;  &lt;p&gt;So, finally, to fix the problem we changed the &lt;code&gt;securityMode&lt;/code&gt; to &lt;code&gt;Transport&lt;/code&gt; and the &lt;code&gt;protectionLevel&lt;/code&gt; to &lt;code&gt;EncryptAndSign&lt;/code&gt; and, having matched client and server configuration attributes, the solution was finally up and running. &lt;/p&gt;  &lt;p&gt;To wrap up, it is almost inevitable to report that, as it turns out, someone had, inadvertently, copied a configuration file from development environment to production, thinking that they were an exact match, without verifying that the security configuration elements were in fact distinct. &lt;/p&gt;  &lt;p&gt;I guess this is another example that supports the prohibition of direct copying from development and quality environments into production environments, although a more clear error message from AppFabric would also be much appreciated &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/3857.wlEmoticon_2D00_smile_5F00_50209E29.png" /&gt;.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;Written by Vasco Preto; posted by MSPFE Editor &lt;a href="http://blogs.msdn.com/b/arvindsh" target="_blank"&gt;Arvind Shyamsundar&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10404482" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/AppFabric/">AppFabric</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WCF/">WCF</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Vasco+Preto/">Vasco Preto</category></item><item><title>More Efficiently Debug the Managed Heap Using SOS 4.5</title><link>http://blogs.msdn.com/b/mariohewardt/archive/2013/03/13/more-efficiently-debug-the-managed-heap-using-sos-4-5.aspx</link><pubDate>Wed, 13 Mar 2013 22:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10402145</guid><dc:creator>Mario Hewardt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10402145</wfw:commentRss><comments>http://blogs.msdn.com/b/mariohewardt/archive/2013/03/13/more-efficiently-debug-the-managed-heap-using-sos-4-5.aspx#comments</comments><description>More often than not, when we investigate the managed heap using SOS we use the all powerful !DumpHeap command. It's an incredibly useful command to get in depth detail on what currently resides on the heap. Let's look at an example of the abbreviated output from !DumpHeap -stat: 
 
 MT Count TotalSize...(&lt;a href="http://blogs.msdn.com/b/mariohewardt/archive/2013/03/13/more-efficiently-debug-the-managed-heap-using-sos-4-5.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10402145" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/MSPFE/">MSPFE</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/debugging/">debugging</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WinDbg/">WinDbg</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/SOS/">SOS</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/4-5/">4.5</category></item><item><title>Video series: .Net Debugging for the Production Environment</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/01/30/video-series-net-debugging-for-the-production-environment.aspx</link><pubDate>Wed, 30 Jan 2013 10:38:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10389453</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10389453</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/01/30/video-series-net-debugging-for-the-production-environment.aspx#comments</comments><description>&lt;p&gt;Brad Linscott is a very experienced Premier Field Engineer from the .Net development side of the house &lt;em&gt;(Ed: who originally trained me in .Net Debugging techniques, oh, eight? years ago?)&lt;/em&gt; and he’s published a &lt;a href="http://channel9.msdn.com/Series/-NET-Debugging-Stater-Kit-for-the-Production-Environment"&gt;video series on .Net Debugging on Channel 9&lt;/a&gt;, which runs you from the basics to some quite advanced techniques in .Net debugging, as performed by the experts!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img src="http://files.channel9.msdn.com/thumbnail/09eecb88-d147-4abf-ad8c-57e484d5f1e4.png" width="640" height="167" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This series was created based off of a thread on the Channel 9 Site Feedback forum. Read the original post &lt;/em&gt;&lt;a href="http://channel9.msdn.com/Forums/Feedback/Suggestion-WinDBG-tutorial-video-series-from-beginner-to-advanced#cf1f9724fd4d74bad8cec9fd800abf1e2"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. We heard what you wanted, so we created the first &lt;strong&gt;.NET Debugging Starter Kit&lt;/strong&gt; series. With the help of Brad Linscott, Premier Field Engineer, this series will teach you how to use various tools, including the Debugging Tools for Windows package (windbg), to resolve your .NET application issues in a production and pre-production environment, including post-mortem analysis of dump files.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It’s a series of shortish videos (given the subject depth), which is nice and lunch-break friendly. Or you could replace your mandatory afternoon snooze with learnings!&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;a href="http://blogs.technet.com/b/tristank/"&gt;&lt;em&gt;Tristan Kington&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, MSPFE Editor, and a table as well.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10389453" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/debugging/">debugging</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/ASP-Net/">ASP.Net</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Brad+Linscott/">Brad Linscott</category></item><item><title>Free Expert Advice for Building Your Windows 8 Apps.  Windows Store App Labs! </title><link>http://blogs.msdn.com/b/mspfe/archive/2013/01/25/free-expert-advice-for-building-your-windows-8-app-windows-store-app-labs.aspx</link><pubDate>Fri, 25 Jan 2013 15:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10388345</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10388345</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/01/25/free-expert-advice-for-building-your-windows-8-app-windows-store-app-labs.aspx#comments</comments><description>&lt;div class="post-content user-defined-markup"&gt;&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary:&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&amp;nbsp; &lt;/em&gt;&lt;a href="http://social.technet.microsoft.com/profile/robert%20w%20evans/" target="_blank"&gt;&lt;em&gt;Robert Evans&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, a Senior Microsoft Premier Field Engineer focused on development, informs us of some awesome resources for Windows 8 developers to get&amp;nbsp;advice from experts and access to a myriad of Win8 devices.&amp;nbsp; Take advantage of it if you can.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52/1803.Win8.png"&gt;&lt;img style="border: 0px currentColor;" title="Windows 8 Logo" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52/1803.Win8.png" alt="Windows 8 Logo" width="300" /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows Store App Labs (WSALs) are here!&lt;/strong&gt; A place where you can access Windows 8 devices, get design help, and meet with Windows 8 Experts to make your app great! &lt;strong&gt;All for free!&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Get technical guidance from Windows 8 Experts&lt;/h2&gt;
&lt;p&gt;Our Windows Store app developer experts are on-hand to help you get started, to test your app and offer any technical advice you need!&amp;nbsp; We can help you with coding tips, debugging, and prepping your app to submit to the Windows Store.&lt;/p&gt;
&lt;h2&gt;Check out and test on the newest Windows 8 devices&lt;/h2&gt;
&lt;p&gt;Test your app on a variety of screen sizes, input methods, and chipsets with the latest Windows 8 devices including Windows RT tablets, Ultrabooks, All-in-Ones, and more. Designers will review your app mock-ups or your complete app and provide feedback on how you can improve your app&amp;rsquo;s layout, navigation, live tile, and other UI elements.&lt;/p&gt;
&lt;p&gt;As you get started - check out &lt;a href="http://blogs.msdn.com/b/windowsstore/archive/2012/11/19/5-tips-to-getting-your-apps-certified-quickly.aspx"&gt;5 tips to help you get your app certified&lt;/a&gt; quickly, &lt;a href="http://blogs.msdn.com/b/cbowen/archive/2012/08/01/the-top-10-windows-8-secrets-of-app-success.aspx"&gt;top 10 app secrets of success&lt;/a&gt;, &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/category/windowsapps"&gt;Win8 Forms&lt;/a&gt; and more helpful information on our&lt;a href="https://applabs.msregistration.com/LabResources.aspx"&gt; lab resources page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;All for free!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Space is limited.&amp;nbsp; Please register for a lab in your location:&lt;/p&gt;
&lt;table style="width: 759px;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;&lt;strong&gt;Country&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;&lt;strong&gt;City&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;strong&gt;Registration Link&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;Canada&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Vancouver&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=52&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=52&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;US&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;San Francisco/Santa Clara&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=139&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=139&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;Canada&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Toronto&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=40&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=40&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;US&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;New York&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=140&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=140&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;England&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;London&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=9&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=9&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;France&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Paris&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=13&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=13&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;Belgium&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Brussels&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=25&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=25&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;Czech Republic&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Prague&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=25&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=25&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;Sweden&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Kista&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=22&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=22&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;Turkey&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Istanbul&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=22&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=22&amp;amp;userid=null#list&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;India&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Mumbai&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=22&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=22&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;India&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Bangalore&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=3&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=3&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;
&lt;p&gt;China&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="167"&gt;
&lt;p&gt;Beijing&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" nowrap="nowrap" width="491"&gt;
&lt;p&gt;&lt;a href="https://applabs.msregistration.com/LabList.aspx?drop=11&amp;amp;userid=null#list"&gt;https://applabs.msregistration.com/LabList.aspx?drop=11&amp;amp;userid=null#list&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" nowrap="nowrap" width="101"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10388345" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/XAML/">XAML</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows/">Windows</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Windows+Store/">Windows Store</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/Robert+Evans/">Robert Evans</category></item><item><title>Debugging STL containers using WinDbg</title><link>http://blogs.msdn.com/b/mspfe/archive/2013/01/15/debugging-stl-containers-using-windbg.aspx</link><pubDate>Tue, 15 Jan 2013 05:02:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10385010</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mspfe/rsscomments.aspx?WeblogPostID=10385010</wfw:commentRss><comments>http://blogs.msdn.com/b/mspfe/archive/2013/01/15/debugging-stl-containers-using-windbg.aspx#comments</comments><description>&lt;p&gt;My good friend and colleague, &lt;strong&gt;Ambrose Wong&lt;/strong&gt;, is a Principal PFE in Hong Kong. He has been debugging and troubleshooting production issues for over a decade now. More importantly, he mentors our customers to be their own hero and debug issues on their own.&lt;/p&gt;  &lt;p&gt;One of the conversations we have with customers who are using WinDbg for the first time is obvious comparisons with Visual Studio, and how easy it is to ‘Watch’ things in VS.NET. The expression evaluation (a.k.a. Watch) capability in VS.NET is very easy to use, but what if you have to do that with WinDbg in a production environment? &lt;/p&gt;  &lt;p&gt;While it may be easy to dump scalar values, how about when you are dealing with STL vector classes, such as vector&amp;lt;&amp;gt;? It may not be very apparent how to do that in WinDbg. Ambrose has started a series on how YOU can do that yourself – read the &lt;a href="http://blogs.msdn.com/b/ambrosew/archive/2013/01/14/debugging-stl-containers-with-windbg-prolog.aspx" target="_blank"&gt;introduction&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/ambrosew/archive/2013/01/15/debugging-stl-containers-with-windbg-part-1-vector.aspx" target="_blank"&gt;part 1&lt;/a&gt; of his series. &lt;strong&gt;Highly recommended &lt;/strong&gt;for WinDbg buffs!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;BTW, if you have never heard about the Standard Template Library – STL – you can hear Stephan Lavavej (Mr. STL himself &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-50-52-metablogapi/0724.wlEmoticon_2D00_smile_5F00_3ECEB828.png" /&gt;) introduce it &lt;/em&gt;&lt;a href="http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej" target="_blank"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt; &lt;em&gt;   &lt;hr /&gt;&lt;/em&gt;  &lt;p&gt;&lt;em&gt;Posted by Arvind Shyamsundar, MSPFE Editor&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10385010" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/debugging/">debugging</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/WinDbg/">WinDbg</category><category domain="http://blogs.msdn.com/b/mspfe/archive/tags/C_2B002B00_/">C++</category></item></channel></rss>