The Silverlight Toolkit grows up a little with an install experience

Posted 23 March 2009  

Silverlight 3 Visual Studio ToolboxThe Silverlight Toolkit March 2009 includes an install experience for the first time. Instead of having to download a Zip file with all the bits and little instruction, we now have a complete installation experience for Windows. This provides a very nice experience when using Visual Studio 2008 and Expression Blend 3, since the Toolkit's controls appear alongside all other Silverlight SDK controls now. I wanted to take a few minutes and record a few questions and answers about the new experience. Let me know if there are some other questions you'd like answered.

Why are there two setup downloads for the March 2009 release?

The March 2009 release is available for targeting Silverlight 2 applications (recommended for most developers and designers working on current production Silverlight 2 apps), and a Silverlight 3 Beta release. Since the target platform is important, you can make a choice. Of course, both the Silverlight 2 and Silverlight 3 Beta installs for the Silverlight Toolkit support side-by-side; however, the Visual Studio 2008's Silverlight Tools do not support "multi-targeting," so you really should decide and stick to a single target development environment for Silverlight coding today.

What are the system requirements?

The Silverlight Toolkit only requires a recent version of the .NET framework to install. However, for the best experience, you should have one of these development environments installed and configured:
  • Visual Studio 2008 SP1 with the Silverlight Tools (Silverlight 2 or Silverlight 3 Beta)
  • Visual Web Developer Express with the Silverlight Tools (Silverlight 2 or Silverlight 3 Beta)
  • Expression Blend 2 SP1 with Silverlight 2
  • Expression Blend 3 MIX '09 Preview with Silverlight 3 Beta
More information about these tools and downloads is available at http://silverlight.net/getstarted/silverlight3/default.aspx. You can install the Silverlight Toolkit before or after the Silverlight Tools installation.

What's with the namespace change to System.Windows.Controls?

As the Silverlight Toolkit has begun delivering controls into the official Silverlight SDK, it became apparent that we should be consistent across the Silverlight platform with regard to the namespace used for the Microsoft controls. As a result, we decided to make this namespace change along with the new ".Toolkit" assembly name scheme.

Where's the AutoCompleteBox control? How about TreeView?

Some of the "Stable" controls were moved to the official Microsoft Silverlight 3 Beta SDK, since they are trending towards the "Mature" quality band. As a result, the controls live in different assemblies depending on whether you are performing Silverlight 2 or Silverlight 3 Beta development. In the Silverlight 2 Toolkit March 2009 release, AutoCompleteBox is in System.Windows.Controls.Input.Toolkit. TreeView is in System.Windows.Controls.Toolkit. In the Silverlight 3 Toolkit March 2009 release, AutoCompleteBox is in System.Windows.Controls.Input. TreeView is in System.Windows.Controls. These assemblies are part of the Silverlight 3 Beta SDK and DO NOT require installation of the Silverlight Toolkit. The Silverlight 2 controls are compatible with Silverlight 3, so existing applications will continue to work - but we do highly recommend that you update to the appropriate Silverlight Toolkit for your target Silverlight version, since we do add version-enhanced features, such as animation easing for the Silverlight Toolkit charts in the Silverlight 3 Beta. More information about the assembly and namespace name changes is available in this post by Shawn Burke.

What is installed with the Silverlight Toolkit now?

You'll find the same basics as before, plus some. You'll find these in the "Microsoft Silverlight 3 Toolkit March 2009" (or similarly named folder for the Silverlight 2 version) folder in your Start Menu.
  • New "Welcome" page with general information about the release, plus a link to the breaking changes and release notes for the release.
  • Links to the CodePlex site for the Toolkit, plus the Silverlight.net discussion forums
  • A link to the sample application for the Toolkit, served from the local system
  • Links to Zip files containing the control source code and/or the sample source code
  • The documentation for the Toolkit controls in CHM format. The documentation file no longer requires the "Unlock" workaround step on Windows Vista and Windows 7. Do note that the documentation for former Silverlight Toolkit controls that now appear in the Silverlight 3 SDK, such as AutoCompleteBox, are now located in the official Silverlight documentation. An offline download of the SDK documentation is also available.

What rocked about the Zip?

Well, in my mind, it was:
  • Transparent experience
  • Nothing fancy
  • Lightweight. Nothing to install, so if you didn't want it anymore, you could just delete the files, for instance.

What was so bad about the Zip?

  • No integration into Visual Studio or Expression Blend out-of-the-box, without doing some manual file copy or registry work
  • Confusing to users used to a setup experience
  • CHM documentation files downloaded in a Zip require "Unlocking" before they work. Until then, they appear broken.

Would you consider offering releases in a Zip file, optionally, still?

We're open to the idea. Especially now that there's an Eclipse Silverlight development experience, we do need to be mindful of the need to use the releases on other platforms. Since our packaging infrastructure was initially designed to output these nice .Zip files, it wouldn't be too tough for us to get this going. We'll see what the customer requests look like.

How do I select whether I want to get the source code to the controls?

There is an installation option for a feature called "Source code," you can click on the box to the left of the item and remove the component if you would not like to install the source package. If you do select this feature (per the default), a .Zip file is placed on the system that contains the source code. You can extract the zip file into a location of your selection to build or view the source. Setup Options As always, the source is also available on the Silverlight Toolkit CodePlex site.

What about Microsoft Expression Blend integration?

The Blend 3 MIX09 Preview release includes support for having the Silverlight Toolkit appear in the "Custom Controls" tab of the Asset Library. This is only available for Silverlight 3 Beta, not the Silverlight 2 / Expression Blend 2 product. There is some really great design time support in this release. For instance, if you just drop a "Chart" control onto your Blend design canvas, you're greeted with a chart that has simple design time data! It might look a little like one of those "the most bars anywhere" cell phone commercials, but it is very helpful for styling.

What powers the installer?

We leveraged the open source Windows Installer XML (WiX) toolset, an excellent and easy way to build Windows Installer packages. Kudos to Eric St. John, a Microsoft developer who contributes to WiX, for excellent advice, btw! This was important to our small development team, since we wanted to spend time working on new features like awesome design-time integration and new controls like accordion instead of assigning a developer to the setup full-time. Hope you like the new experience. Let us know!

Jeff Wilcox is a Principal Software Engineer at Microsoft in the Open Source Programs Office, helping Microsoft scale to 10,000+ engineers using, contributing to and releasing open source.

comments powered by Disqus