Today we released Silverlight 2 RC0. This release is for a very specific purpose and although the information will likely be repeated, I wanted to try to help answer a few questions.

What is this release?

RC0 is a developer release only! The intent of providing these bits is to provide developers with ample time to have access to the release candidate runtime/controls for Silverlight with the primary goal of making sure that developers with Silverlight 2 Beta 2 applications that are live today prepare for the release of Silverlight 2.

What should a developer do?

If you have a Silverlight 2 Beta 2 application that is out there today, you should use this RC0 build to port/stage your application in a test environment to this RC0 build and test to make any required changes based on the breaking changes from Beta 2 to RC0.

Why should I care?

Because your Silverlight 2 Beta 2 applications will not work on the release of Silverlight 2. If you have applications today, you want to make sure that your application will work and that is why we’re providing this RC0 build for developers now.

I’ve made my changes and it works, should I deploy it now?

NO! This is a developer release only. What does that mean? That means that there is no end-user installable runtime that is released, only the developer runtime with the developer tools. If you deploy an RC0 application into the wild your users will be greeted with unfriendly install messages taking them to bits for Beta 2, making them confused. You should, however, deploy to your test environments for your test team(s) to check out your application.

So why am I doing this again then?

Sorry to be repetitive, but this is for developers. Again, the goal is to give developers who have Beta 2 applications ample time to port/stage and test their applications. You want to do this to be ready so that when Silverlight 2 releases, your app will be ready and you can flip the switch on your bits.

Will my end users be auto updated to RC0?

No, end users who have either Silverlight 1.0 or Silverlight 2 Beta 2 installed will not be automatically updated to RC0. When Silverlight 2 releases, they will be notified of a new version for the release version.

So how will I know what may break?

We’ve created a breaking changes document that provides the breaking changes between Beta 2 and RC0. It is available for you to download and we recommend you use this as your guide and first point of attack when troubleshooting porting your application. The breaking changes document is located here.

As an example, here’s one that I think is so simple, but might have some banging their heads when their users complain they are still being asked to install Silverlight. In the Beta 2 builds, if you use the <object> instantiation method, your code may look something like this:

Notice the type attribute in the <object> tag changes from application/x-silverlight-2-b2 to application/x-silverlight-2. Please note this is the plugin application type only and not to be confused with the server-side MIME type mapping (which should be .XAP mapping to application/x-silverlight-app).

Also notice the correct link to the “fwlink” to the runtime. When Silverlight releases you’ll be sure in your custom install experience (please don’t use the default) you’ll want to point to the right link.

Ok, I’m convinced, what do I need to do?

Here’s what I’d do if I had a beta 2 application:

Re-read the above to make sure I understand the intent of this release fully.

Put your application in a test environment only for your developers/internal testers to mess around with. Do not deploy your application to your customers yet!

Rinse. Repeat. The testing/changing cycle that is.

This should get you going rather quickly. If you experience issues, use the appropriate feedback channels that you’ve already established (i.e., if you are working with someone at Microsoft or have a contact). Please be sure to consult the breaking changes document first though.

Allow me to comment about breaking changes. I know that as a developer this can add work for you…ah the joys of being an early adopter! Breaking changes in beta to release products can be a good thing if it helps bring compatibility in frameworks and if it makes for an easier or more logical API.

Okay, so we do all this prep work, when is Silverlight 2 releasing?

Ah, the magic question. While we aren’t providing any dates right now, we are still committing to shipping Silverlight this year. We are providing this release now to ensure you as a developer can stage/test your Beta 2 applications and be ready! If you don’t have any applications that are running now (live) on Beta 2 but have been working on one, then you’ll want to start with RC0 as well so that you minimize the work you have to do when you go live.

Need the Mac developer runtime for testing? You can get that here. Also keep in mind this is a developer build as well.

What’s new you say? Well not a ton (as we’ve been saying) but you should see a ProgressBar, PasswordBox and ComboBox in there now! In addition to the new controls, all the controls were updated with new skin templates. Also the RC0 bits allow you to enable HTTP hosted applications to call secure services (policy file required), which I know people have been wanting. Wondering about stuff that Shawn mentioned? Well you shouldn’t have expected them here for 2 reasons. First, they aren’t going to be a part of the core runtime. Second he mentioned that they are working toward a preview release for PDC (end of October). So be on the lookout for that work!

Thanks for all the info. I have updated and did run into a few issues. Most were pretty easy but I'm stumped on what to do to make children of a ContentControl layout the same way they did in Beta 2. If you have the time and can check out my post http://silverlight.net/forums/t/30285.aspx it would be awesome.

Great to finally get a release however am a bit disturbed with the 'we are still committing to shipping Silverlight this year' comment - where has that come from? Silverlight team have continually stated and I quote 'Late summer' and some SL guys have been saying on blogs to look out for something 'very soon' in relation to a relase not an RCO. My team are currently developing an app in SL 2 for a client due to be delivered in early to mid November which we thought would give us pleanty of breathing space if there was a delay about 1 1/2 - 2 months now I get the impression that theres nothing stopping MS releasing in December. Also our testers don't have visual studio on their machines so how exactly are they going to test with no end user RCO?

Ian: anyone giving more specific dates would be providing information they shouldn't. Our plans have always publically been to ship the runtime/tools this year. I've never seen anyone give more specifics on that -- and if there has been someone saying 'late summer' then they were speaking out of place or VERY early on before any goals were decided. With that said, as you could imagine we are providing this release to get developers to stage their Beta 2 applications. Clearly there is a reason for that because we are closing in on a release. As ScottGu noted in his post, we have a handful of bugs and fit/finish work that we are working on, but even he notes the release 'will be soon though' :-).

Can-E: When you install the tools, you get the runtime on your developer machine...so you can debug fine. If you only want the developer runtime there is a link to that as well on the info page. But installing the VS tools gives you that same runtime.

Trying to use Parse or Load with JsonObject failed, because it was dependent on stale .NET DLLs. I just updated VS 2008 SP1 and SL RC0 and there isn't even a json.dll anymore. There is nothing in the change notes about this. Where is System.Json now?

OK, creating a JSON library pulls in a set of compatible references that includes System.Json classes. Unfortunately, it's missing System.Web and it cannot be added in. It complains that it was not built against the SilverLight runtime. I can see this is going to be a nightmare already.

Rick: The full .NET base class libraries aren't a part of Silverlight. Silverlight is a subset of the full BCL. System.Web is not a part of Silverlight. Feel free to ping me offline for what you are trying to do.

Marc: This is expected. This is because the beta 2 site still uses the different application type setting of the object tag as well as just being built to target the beta 2 runtime. This is why RC0 is a developer-only build. Sites with beta 2 will not execute if the end user has a release runtime installed. Once Silverlight 2 releases, any beta 2 site will still have this experience until the site author changes that site to a release build.

We all work in an environment where our machines are on a secure network. We are unable to access the Internet with them. After uninstalling everything and preparing to update these machines, I noticed that the guys packaged the Silverlight Tools install to connect to the Internet and download additional stuff.

As a result the installation fails on all of our machines.

And the guys did not post any link to an "offline" or "network" installation package. Also, I have already searched for one to no avail. Can you please provide us with a link to one?

And can you tell them to try (please) to avoid doing it this way in the future? It may not be a big deal to most people, but there a LOT (trust me) of people out there developing on networks that cannot access the Internet.

Has anyone tried out calling Ado.net Data Services after upgrading to RC0?

All my UI controls was updated and are running greate, except that I'm not getting any data in my grids anymore.

I'm getting a MissingMethodException when trying to call my service.Here is my code sample that worked fine with the beta 2 release, but broke with this one. I also check the update for Astoria but nothing was changed there ...Any ideas?

RC0! I spent the weekend playing around with Silverlight tools as well as Blend. Outcome was a tutorial on creating Custom Controls touching on App.xaml, generic.xaml, VS and Blend.

Goals of the post are:• Propose strategy for using Generic.xaml and App.xaml• Project structure should enable Control Designers, Control Developers and Application Developers to work independently of one another.• Create a single Silverlight Control library of reusable Custom and User Controls, each with customized Look-and-feel.• Look-and-Feel of each control needs to be "baked in" so that they can be used "as is" by our Application.• Controls should still be open to further styling and customization by the Application Developer at the application layer.

Marc: yes you are correct. Inconvenient at worst, but the price of an early adopter developer ;-). I've got two machines going now as well and have to remember to switch back and forth. You could always also use a VPC for the RC0 stuff.

I'm almost finished a SL2B2 project for a client and going live next week, a little behind schedule. Everything works great and I have tested on an ISP server. With this RCO release, does this mean that I should first install the update and change my project accordingly? I'm concerned because I'm not sure how long that wil take? What would happen if I ignore the update and go live next week? Does that mean that the site might not work after some time?

Donovan: I think you should definitely get the RC0 build and prepare your application. You don't want to release it on that build, but you definitely want a head start in getting it ready for when Silverlight 2 releases.

Sam: you are correct that TextBlock doesn't support HyperlinkButton as content. There are a few projects that have been able to do similar work arounds that you may be able to learn from. Here is one with source: http://www.codeplex.com/richtextedit

Tim: Thanks for the link. Nevertheless, I am curious if Silverlight will add a Hyperlink control. It seems to me that Silverlight being a cool web technology - should support such a basic (yet very important) functionality out of the box... especially if it already exists for WPF applications.

Justin: Hmm, interesting situation on the TechEd DVDs, let me ask around about any servicing plans. But yes, beta 2 sites WILL NOT WORK on release builds of Silverlight 2. Is the TechEd player a Beta 2 player or a Silverlight 1.0 player? Silverlight 1.0 applications will work under Silverlight 2 release builds.

I'm a bit confused - when the RTW is available for all, does it mean that anyone who has SL2B2 will automatically be upgraded to RTW? and worst then that - does it mean that my SL2B2 app will not be able to send people who don't have SL to download SL2B2?

Tzahi: End users that have Silverlight 2 Beta 2 on their machines will be given the opportunity for auto upgrade, yes. Your B2 app will NOT work on release code of the runtime...only people who already have Beta2 and have not been upgraded would be able to see your application. No new builds of beta 2 will be linked up.

Hey Tim, I'm sitting here trying to update my machine. I cannot seem to find any working link to the Silverlight Tools for VS2008 SP1 for Silverlight RC0. The link in this blog entry is broken. So are the links from the Silverlight site and microsoft.com. Can you tell me where I can find this? Thanks.

If you could, please pass along just how frustrating the TechEd DVD situation is.

There was no compelling reason to use Silverlight for the DVDs to begin with, and it was aggravating even initially to have to install a beta plugin to watch them.

And now it turns out that the release Silverlight isn't backward compatible?!?

Why didn't someone think this through before burning tens of thousands of DVDs with a beta plugin?? Whoever made that decision should have made sure some sort of updated viewer was available upon the release of the final Silverlight 2.

Ken: Thanks for the note and duly noted. Actually during the release process this was discovered and we were all trying to figure out the best way to service this issue. The Silverlight aspect was to be used in their online content (www.msteched.com -- which is being updated if not already...I don't have a login to test), but was also provided in the DVD, a decision in hindsight that turned out to be an incorrect one. The team (again, if they haven't done so already) is making available a matrix of the session content on the DVD so that you can easily find what you are looking for amidst the session numbers, etc. I apologize for this mishap.

Thanks for getting back to me. As far as I know, they are the same DVDs. There are 9 of them in the set. They are not to hand at the moment but I'm sure they are the US '08 Techeds from both Dev & IT pro strands.

unrelated: your gravatars are broken for me but that may be the corporate firewall. In my case that's probably a lucky break for you all.

Thanks for getting back to me. As far as I know, they are the same DVDs. There are 9 of them in the set. They are not to hand at the moment but I'm sure they are the US '08 Techeds from both Dev & IT pro strands.

unrelated: your gravatars are broken for me but that may be the corporate firewall. In my case that's probably a lucky break for you all.

A great news, now I can go through all the new things that appeared on this version of Silverlight. I am just wondering when it's releasing, I see that many people are intrested in it.Fachübersetzungtechnische übersetzungen