Welcome to the Silverlight for Windows Embedded team blog!

Welcome to the Silverlight for Windows Embedded team blog.  This serves as a place for the Silverlight team to share information about the Silverlight for Windows Embedded API set and how it can be used to create compelling UI on Windows Embedded Compact-based devices.  This blog will include everything from small UI examples to tips and tricks on how to make the most of Silverlight.  We also welcome comments and suggestions from our readers to help make this a valuable UI development resource.


To kick things off, today I am providing some background on Silverlight for Windows Embedded and some links to help you get started.


Silverlight for Windows Embedded is a native code (C++) UI framework that enables a new designer/developer paradigm that will dramatically improve the user interfaces on devices and the time and cost needed to deliver a differentiated experience.  Leveraging familiar tools like Expression Blend, designers can quickly and easily design rich, compelling UIs for embedded devices on the Windows Embedded CE platform.  At the same time, developers implement the code-behind with Visual Studio and Platform Builder.


The key to enabling the designers and developers to work simultaneously is Extensible Application Markup Language (XAML), a markup language for declarative application programming.  As with Silverlight on the desktop, the designer creates the visible UI elements in the XAML and the developer creates the separate code-behind files to respond to events, manipulate the elements declared in the XAML, and control the underlying business logic of the application.


Unlike Silverlight on the desktop PC, which uses managed code (like C# or Visual Basic), Silverlight for Windows Embedded uses native code (C++) and does not run in a security sandbox, meaning that it has access to any API and resource on the device.


To make setting up the C++ project easier, we provide the Windows Embedded Silverlight Tools (WEST) which allows you to take a Blend 3 project and create a C++ project in Visual Studio with many of the required initialization functions and event handlers automatically stubbed out for you.  If you make changes to the Blend project, you can just run WEST again, and have the C++ project updated to reflect those changes.


Due to the differences between managed and unmanaged code, Silverlight for Windows Embedded uses an entirely different Base Class Library than the Silverlight that runs on your desktop PC, meaning that some functionality from the desktop (like .NET and sockets) will be very different on the device.  This also means that desktop Silverlight applications will not run on Windows Embedded CE devices.


Finally, rather than running in a web browser, Silverlight for Windows Embedded applications are hosted in any Win32 window.  To provide an immersive user experience, Silverlight for Windows Embedded shells and applications are typically run in full-screen mode.


In order to achieve smooth, responsive animations, devices can take advantage of the acceleration commonly enabled by the Graphics Processing Units (GPUs) on their hardware.  Silverlight for Windows Embedded supports hardware acceleration using DirectDraw and OpenGL through a process called cached composition.


Silverlight for Windows Embedded first shipped with Windows Embedded Compact 6.0 R3, but this blog will be covering features shipping with the Windows Embedded Compact 7.0 Public Community Technology Preview (available since June 2, 2010).  In order to use Silverlight for Windows Embedded you will need to install the following applications:

  • Windows Embedded Compact 7.0 CTP (see instructions, below)
  • Microsoft Expression Blend 3
  • Visual Studio 2008 

To Install Windows Embedded Compact 7:

  1. In Internet Explorer, on the Microsoft Connect site (http://go.microsoft.com/fwlink/?LinkId=193528), go to your My Connect Dashboard and select the Windows Embedded Compact program.  You will need to register with Microsoft Connect, if you haven’t already done so.  Select Windows Embedded Compact 7 version 1347 from the Downloads menu.
  2. Download your zipped package file.
  3. In Windows Explorer, navigate to the extracted file location, and double-click Windows Embedded Compact 7.exe.  Follow the instructions in the installer.

Note:   Depending on the options you choose, this release could take up to 90 minutes to install. Additionally, having virus protection enabled may greatly increase your installation time.


We hope that this blog proves useful to you and that you frequently check back to see the content that we will be adding to it.



Comments (6)

  1. obloch says:

    Great! I look forward to follow you guys up!


  2. obloch says:

    Great! I look forward to follow you guys up!


  3. Timothy says:

    There also a really cool video from TechEd which I found through the Windows Embedded blog which describes using silverlight from managed code through a carefully constructed application architecture.


    I thought I would post it here for cross reference (and as a future posting topic idea).

  4. Jed says:

    The only reason I can see for this project to exist is performance / lower hardware requirements (but it uses COM, right?).

    The elephant in the room is Silverlight for Windows Phone, which I'm sure a huge segment of Windows Embedded Compact developers would prefer over using native code, no matter how many code generators/wrapper libraries are created.


  5. Ed says:

    Can someone ( Timothy perhaps..) please address the _2_ paths here with Silverlight, as Jed said, you have the full blown managed SL on Phone 7, which 98% of people want to work with anyhow.

    Why the 2 paths here, Phone 7 /  Embedded 7, with different SL implmentations ?


  6. Cesar Mello says:

    Congratulations for the great job! I hope someday this gets ported to desktop Windows too!

    Best regards


Skip to main content