Quick Tip for Silverlight 4 Runtime Version Matching Issue

Today I opened a few of my Silverlight 4 projects only to be greeted by the following error when attempting to start debuggin:

"Unable to start debugging. The Silverlight Developer Runtime is not installed. Please install a matching version"

What?!

The tools were installed.

I remembered that I’d recently installed a new version of the Silverlight 4 runtime that had been required to view this new theme:

http://www.silverlight.net/content/samples/sl4/themes/jetpack.html

I’d have included a screenshot of the theme, but that would mean using a VM and going through the ordeal again.

I searched around and found a few notes on this forum…

http://forums.silverlight.net/forums/p/188683/433695.aspx

It is true that the tools include a special debug version of the silverlight runtime, however, it’s missing an important step:

You need to uninstall the currently installed Silverlight 4 end-user runtime before re-installing the Silverlight 4 Tools for Visual Studio – http://go.microsoft.com/fwlink/?LinkID=188039 – otherwise you haven’t reverted to the older developer runtime required and just waste a good 10 minutes for nothing.

I’m not sure how Microsoft is going to handle this going forward.  The builds are just slightly different, but the tools will not tolerate the difference.

Advertisement

Quick-Start Primer Video to Windows Phone 7 Tools, Data Access and Notification Services

I recently did a 1-hour screencast interview with Carl Franklin for Dot Net Rocks TV.

It’s a good primer for a few areas of Windows Phone 7 developer.

20100720 video

If you are looking for in-depth rapid training on developing for Windows Phone 7 then you should consider registering for this first major boot camp running across Canada.

Windows Phone 7 Boot Camp

The recording was done using the April refresh of the tools.  I’ll be following up with another one soon using the Beta tools to explain things like themes and application life cycle in more detail.

We covered the tools…

20100720 tools

The emulator…

20100720 emulator

Project types…

20100720 project types

 

Visual Studio Tools…

20100720 vstools

Mapping Applications…

20100720 mapapp

Data Binding/Access… to a service exposed through Windows Azure AppFabric Service Bus

20100720 dataaccess

Notification Services which is essential to building applications that receive information from the cloud.

 

20100720 notification

Hopefully the video gives you a good sense of what is possible, and if you want this speed of knowledge transfer or faster… go for the bootcamp.

Windows Phone 7 Boot Camp

Develop Silverlight Applications for 20 Million Nokia Symbian Device Users

The Silverlight Runtime for Symbian Devices

Microsoft has released Symbian for Silverlight – a free download.

It supports Nokia S60 5th Edition devices such as:

  • Nokia 5800 XpressMusic
  • Nokia N97
  • Nokia N97 Mini
  • S60 5th Edition SDK 1.0 Emulator

Apparently this covers some 20 million users worldwide!  The version 7.2.xxx version of the WebKit based browser is recommended which will be in upcoming firmware updates.

The Tools

You’ll need the Windows-based Microsoft Silverlight for Symbian Developer Tools plus:

  • Visual Web Developer 2008 Express Edition with SP1 with Silverlight Tools for Visual Studio 2008 SP1
  • Visual Studio 2008 SP1 with Silverlight Tools for Visual Studio 2008 SP1
  • Expression Blend 2 SP1 (free trial version)

Other versions of Expression Blend and Visual Studio are not supported. Application deployment on Internet Information Services (IIS) or a comparable web server such as Apache is supported.

Only development with C# is support – not VB.

The Symbian-specific tools include:

  • Samples
  • Runtime for the emulator (and command line to install it); note that the documentation includes instructions on getting the emulator
  • Documentation

To test, you launch the emulator and browse to sites running the silverlight application you have built.  You can open .xap files in folders but then network calls will fail.  Not much debugging support – limited to some basic browser error notifications with some Nokia-specific modification – though you could debug in Visual Studio by running the application up in a desktop browser.

The Capabilities (or lack thereof)

The Silverlight runtime for supported Nokia devices is based on Silverlight 2 with some limitations, hence why VS 2008 and Blend 2 are the tools supported.

JavaScript is largely not supported.  Pure XAML is OK.  So it’s Silverlight 2 style XAML+.NET apps to go 🙂

The documentation details the media limitations but here are a few major points.

  • Media is played through the Nokia Nseries digital music player for A/V playback and progressive download.  Adaptive streaming requires IIS Smooth Streaming.
  • Video needs to be MP4 H.264 – Baseline Profile (with some specific limitations)
  • Audio needs to be MP4 AAC-LC (including HE-AAC)
  • Full-screen requires the MediaElement to be the only element sized to the screen.
  • OpenFileDialog is customized for the Nokia devices for finding/selecting media files, taking pictures, etc.

These media features are not supported:

  • HTTP traditional streaming

  • Server-side playlists

  • Client-side playlists

  • Built-in VCR controls

  • Multiple MediaElement controls in one plug-in

  • MediaElement control used as content within another Silverlight control

  • Markers

  • Video overlay

  • Transparency

  • Digital Rights Management (DRM)

  • Alpha blending

  • Rotation and skewing of videos (RotateTransform and SkewTransform)

  • Some members of MediaElement (see "MediaElement Support" later in this topic)

  • VideoBrush element

These Silverlight features/technologies are not supported:

  • Cryptography

  • Deep Zoom

  • Dynamic language runtime (DLR)

  • Digital Rights Management (DRM)

  • Expression trees

  • HTML DOM bridge

  • JavaScript programmability

  • LINQ to SQL

  • Localization of Silverlight resources

  • Reflection

  • Sockets

  • Visual Basic

  • Windows Communication Foundation (WCF)

A few other plug-in related features not supported:

  • ThreadPool

  • Multiple plug-ins on one page

  • Dynamic plug-in xap-file source

  • Silverlight plug-in object

  • Custom Request/Response Headers

  • Silverlight plug-in access from JavaScript

  • Updating HTML DOM Values Through Managed Code

  • No Timeout Error if Network Goes Down

The following Silverlight 2 technologies are supported. However, some features may not be supported, or behavior may be different because of platform differences.

  • Silverlight 2 class library – no VB, WCF, ADO.NET Data Services, JSON, various controls, Polling Duplex, Syndication Classes, XML Utils, Reflection, Sockets, etc…

  • Media – see above

  • Controls – no Silverlight SDK controls (just the runtime ones) plus no support for ComboBox or MultiScaleImage; some runtime controls may not be suitable for the devices

  • Input – support for min/full QWERTY on-screen keyboard, but no T9

  • Isolated storage – fixed at 1MB per application and user must manually remove files after cleanup with no UI provided; read only access flag not supported

  • Fonts – only device (TrueType) fonts available, but can embed fonts resources (if licensed of course)

  • Graphics – No VideoBrush

  • Networking – basically limited to HttpWebRequest and WebClient – check recommended use of Dispose for large downloads

You can view the Silverlight privacy policy here and try Bing and HSN Silverlight applications on your Nokia phone.