Tuesday, November 02, 2010

Solving Dependency Problems in Drop 5 of p&p’s Windows Phone 7 Developer Guide

• Updated 11/2/2010 with an email message of the same date from Eugenio Pace advising:

imageJust uploaded a new package for the source code. It is now signed and minor updates to the readme have been included.

imageFeedback very welcome!


• Updated 10/25/2010 with an email message of the same date from Eugenio Pace advising:

image Thanks for the patience. I just uploaded a new build of the self-extractable zip archive [to CodePlex as WP7Guide-Code-RC2]. It is not signed yet, so you will still need to:

  1. imageUnblock the content (file properties -> unblock)
  2. Change the PowerShell execution policy to "remoteSigned"

Please try it out and let us know!

• Updated 10/22/2010 with an email message (marked ) of the same date from Microsoft’s Eugenio Pace about the problems reported in See the Demo Solution Dependencies section below. Also added link to Windows Phone Developer Tools October 2010 Update of 10/21/2010.

patterns & practices posted Drop 5 (release candidate) of the Windows Phone 7 Developer Guide to CodePlex on 10/12/2010. The guide describes a WP7 client app with a Windows Azure backend:

This new guide from patterns & practices will help you design and build applications that target the new Windows Phone 7 platform.
The key themes for these projects are:

  1. A Windows Phone 7 client application
  2. A Windows Azure backend for the system

As usual, we'll periodically publish early versions of our deliverable on this site. Stay tuned!

Project's scope


Team members blogs

Demo Solution Dependencies

The TailSpin and TailSpin.PhoneOnly solutions have a substantial number of dependencies. The guide includes a CheckDependencies.exe tool to test for dependency fulfillment and install missing libraries:


I suggest you read my Problems with DependencyChecker in Drop 5 thread of 10/13/2010 (updated 10/14/2010) in the CodePlex Discussions to minimize issues when running the DependencyChecker.exe app for the first time. It currently recommends:

1. Docs and readme should include advice to users to Set execution policy in PS to "unrestricted". If not set to unrestricted, almost all dependency checks will fail with required apps and libraries installed.

2. The current Func v1.0 doesn't include Funq.Silverlight.dll. You must download Func Beta (Funq. to get Funq.Silverlight.dll. Do you plan to test and upgrade the dependency to v1.0's Func.dll?

3. Advise users that a local instance of SQL Server 200? [Express] or later is required for the sample database.

4. The readme files for Funq.Silverlight.dll and the two Silverlight3UnitTestingFramework DLLs should indicate that these files must be unblocked. Otherwise initial builds fail with errors.

5. Users should be advised to start the Development Fabric and Development Storage before running projects that use Windows Azure storage.

I corrected the filename that contains Funq.Silverlight.dll to Funq. (from Funq. on 10/22/2010.

Microsoft’s Eugenio Pace added the following item to my Problems with DependencyChecker in Drop 5 CodePlex thread on 10/22/2010:

We are working on this issue. We wil[l] publish an update hopefully today.

It turns out there are some differences between Vista, Win 7 and Win Server 2008 and we want to make sure it works on all those platforms. Also, we finally got all the legal terms in order to include some external dependencies in the package (e.g. MOQ and FunQ). That should further simplify the experience.

Thanks for the patience.


Good news. I’ll update this post again when Eugenio reports the fix is made.

Don’t forget to update your WP7 toolkit with the Windows Phone Developer Tools October 2010 Update of 10/21/2010:

The Windows Phone Developer Tools October 2010 Update includes:

  • Windows Phone Capability Detection Tool – Detects the phone capabilities used by your application. When you submit your application to Windows Phone Marketplace , Microsoft performs a code analysis to detect the phone capabilities required by your application and then replaces the list of capabilities in the application manifest with the result of this detection process. This tool performs the same detection process and allows you to test your application using the same list of phone capabilities generated during the certification process. For more information, see How to: Use the Capability Detection Tool.
  • Windows Phone Connect Tool – Allows you to connect your phone to a PC when Zune® software is not running and debug applications that use media APIs. For more information, see How to: Use the Connect Tool.
  • Updated Bing Maps Silverlight Control – Includes improvements to gesture performance when using Bing™ Maps Silverlight® Control.

So far, I’ve only built and briefly tested the Tailspin.PhoneOnly solution, which processes simple survey questions:


You must use one of the preassigned user account IDs, such as Scott, with any password to log on to the app.

Clicking the right-pointing arrow in the gutter opens a menu for IE, Settings, TailSpin (above), and TailSpin.PhoneClient.Tests:




















Future posts will provide details on the use of Windows Azure data source with the full TailSpin solution.