Developing a Silverlight mini-application is not hard. There are excellent tutorials such as
the QuickStarts series on Microsoft Silverlight web site. However, most Silverlight tutorials assume that you can deploy your multimedia Silverlight application to a web server that you have complete control over. What would you do if you don't have enough control over your web server on the Internet?
I ran into similar situation when I tried to deploy my Silverlight control in Google Blogger. Fortunately, after some Internet search, the following solution is found.
Microsoft offers Silverlight Streaming, a free hosting service that can solve this problem. All you need is a web page where you can place html
and javascript code. The major parts of your Silverlight app will be hosted at
http://silverlight.live.com/, including XAML files, media resources and javascripts. When your web page is displayed, your hosted Silverlight contents will be streamlined from the host to the client browser. Hence the name of the service is Silverlight Streaming.

The following steps describe what you need to do to get the Silverlight Streaming service work. I also included code snippets for a Silverlight mini-application that displays a smile as illustrating example.
Step 1.Develop your Silverlight application with any existing development tools. At the time of this writing, Microsoft Blend 2 September Preview is my favorite one.
A typical Silverlight application will include
- A .html web page to host the Silverligh plug-in control
- A .xaml file to hold XAML script for display
- .js files to hold javascript code
Not all of Silverlight application files will be uploaded onto the hosting service. Before uploading, test your Silverlight application locally to make sure it works as you expect.
Step 2.Prepare a package to host your Silverlight application.
The package should have .zip format and includes the followings:
- manifest.xml file to describe the contents of your package
The manifest.xml file for the example I developed will look like this

- all .xaml files, javascript files required by your Silverlight application (excluding the Silverlight.js file containing Microsoft's Silverlight javascript code)
The Smile.xaml file for the example

- all required media files (if any)
- .html files should be excluded
The package used in my example contains only the XAML file and the manifest. Currently Microsoft Silverlight Streaming site is still at Alpha state only. The maximum size of the .zip package is set at 22MB. Hope that when it comes to release phase later, this limitation can be significantly improved.
Step 3.Obtain your Silverlight Streaming account at
http://silverlight.live.comYou will need a Windows Live ID to register for the Silverlight Streaming account. When registration succeeds, you will be given a public Account ID and a private Account Key to access the uploaded contents. Only the public Account ID will be needed in this example. Upload your Silverlight application package using "Manage Applications" section. All your uploaded applications can also be managed from there.
Step 4.Create web pages that will display a Silverlight plug-in with your Silverlight application contents. You can copy the code snippets offered by Microsoft Silverlight Streaming service after uploading your application. Your Account ID will be already inserted into the code snippets properly.
If you can't modify the html header section of your web page, it will be fine if you inline all javascript code and html in the body of the page.
The resulting web page in my example will look as follows. Note that the call to
Silverlight.createObjectEx({source: "XAML_file", ...})
has been replaced by
Silverlight.createHostedObjectEx({ source: "streaming:/your_Account_ID/hosted_application_name", ...})

That's it! Just point your browser to the URL of your web page and enjoy your deployed Silverlight application.