click tracking
March, 2008 - Katrien's MSDN Blog - Site Home - MSDN Blogs
  • Katrien's MSDN Blog

    Silverlight 2: structure of the new .XAP file (Silverlight packaged application)


    With Silverlight 2 comes a new file extension for your Silverlight applications: .XAP (pronounced zap). This is a compressed file that uses standard .zip compression algorithm to minimize client download size.

    .XAP structure

    As stated the .XAP file is a .zip compressed file that contains the client DLL for the Silverlight application as extra DLLs of assemblies that you are using in your application. This can be your own assemblies of user controls or assemblies that are not part of the Silverlight runtime by default that gets installed on the client.

    External resources like images or other types of files can also be added to the .XAP file if you do embed them into your client DLL. I will be doing another post on the different ways of embedding files into the package application and DLL.

    By renaming the .xap file to .zip you can view its contents:


    Application Manifest file


    The AppManifest.xml file defines the assemblies that get deployed in the client application. This file is automatically updated when compiling your application. Based on the settings of a referenced assembly it is added to the Application manifest. For example, if you have an assembly that you are referencing in your application but do not wish to have it included into the. XAP file you can choose to set “Copy Local” to false.


    In this example I’m referencing the System.Xml.Linq assembly and chose not to have a local copied deployed with the .xap. I’ll then need to an on demand download of the assembly when accessing it in my code. This can be useful to have only your base assembly deployed and have an on demand download of subsequent assemblies on the fly so that your initial download time is minimal. When only a part of your application uses a specific assembly you may want to use this mechanism.

    .XAP generation tool

    When you use the Silverlight project template in Visual Studio 2008 the .XAP file gets generated automatically for you. This is done in a post-build action that uses a tool called Chiron; a tool that gets installed with the Silverlight 2 Beta1 SDK.

    The Chiron tool can also be accessed via the command line to package your own .XAP files if needed. You can also use this tool to generate the .XAP for a DLR application.

  • Katrien's MSDN Blog

    Launch and TechDays in Belgium are over, Luxemburg coming on the 19th of March 2008


    TechDays 2008 are over. Overall feedback was very positive.
    As this was my first big event since starting at Microsoft I'm really happy with the way it all rolled out: top speakers delivering top sessions. Of course this would not have been possible without the big help from Gill Cleeren, check out his blog post about the TechDays.

    The slide decks for all sessions will become available soon to registered users but you may get the slides (and even demos) from some of the speakers that have already posted it on their sites:

    Launch event in Luxemburg

    If you missed the TechDays or Launch event for Windows Server 2008, Visual Studio 2008 and SQL Server 2008 there is maybe good news: there is still a launch event in Luxemburg this Wednesday, 19th of March 2008.

    You can register on the Heroes Happen Here site and check out the agenda for the day. The launch event is in the afternoon but you might also be interested in attending our "Unified Communications" event in the morning.

    TechDays pictures

    Some of the pictures I took during the event are on my Flickr account.


  • Katrien's MSDN Blog

    Silverlight 2 Beta 1 - Silverlight Application project


    With the release of Beta1 for Silverlight 2 you get two new templates in Visual Studio 2008 for creating Silverlight projects in C# or VB.
    Download links to Microsoft Silverlight Tools Beta 1 for Visual Studio 2008 you will find at numerous places on blogs and also in a previous post of mine.

    Available Silverlight 2 project templates with Beta 1:

    • Silverlight Application
    • Silverlight Class Library


    Standard files in a new Silverlight Application project

    When you create a Silverlight Application project and choose to automatically create the test web application site as well, you will get this structure:


    Page.xaml and Page.xaml.cs

    The default base UserControl (UI) of a new Silverlight application.

    App.xaml file and its code-behind "App.xaml.cs"

    This is the file in which you can store application wide resources like styling, brushes, etc. The code-behind file offers the ability to add event handling for the application startup, exit and unhandled exception handling.

    Application.Startup event

    You will see that the Application_Startup event is already implemented and this is where your default base control gets initiated. Suppose you want to have another control that the Page.xaml default one as the startup control of your application this is where you would be able to change this.

    Application.Exit event

    As the name implies, this event is called upon exiting the application.

    Application.UnhandledException event

    By default this event is already implemented for you in the App class. This is where you can catch and handle all unhandled exceptions from your application meaning anything that is not handled by a try/catch block. Note however that there are some types of exceptions that will not revert to this event such as stack overflow, access violation, etc.


    The AppManifest.xml file defines the assemblies that get deployed in the client application.

  • Katrien's MSDN Blog

    Grégory Renard's "10 minutes with your Regional Director" screencast series on Chopsticks


    We have published the first of a new screencast series on Chopsticks: it's a new idea launched by our Regional Director Grégory Renard.

    The idea is to have short 10 minute screencasts on several subjects in which you get insight into the subject. The first one of this series is entitled "10 minutes avec votre RD: Introduction à VS2008 - Codes Snippets" (FR).

    You can see the screencast embedded below or go to our Chopsticks site to view it from there.

    Note: this series is only available in French.

  • Katrien's MSDN Blog

    MIX 08 – the beta releases downloads


    The keynote at MIX08 in Las Vegas this year was really exciting to follow. I was really looking forward to the keynote mainly for Scott Guthrie’s announcements, and was not let down.

    Check Tim Sneath’s blog to get a “live” overview of what was announced during the keynote. Tim does a great job at keeping you informed on the whole keynote.

    On the major announcements here are the links to the downloads of our new beta releases:

    -          Internet Explorer 8 Beta

    -          Silverlight 2 Beta 1 (Runtime)

    -          Microsoft Silverlight Tools Beta 1 for Visual Studio 2008

    -          Expression Blend 2.5 March 2008 Preview (this is the version that supports Silverlight 2)

    -          ASP.NET MVC Preview 2


  • Katrien's MSDN Blog

    Steve Ballmer at MIX: he just loves Web Developers and we can prove it with this video


    Steve Ballmer did the keynote at MIX today and he just does it again: after Guy Kawasaki asks him not to do any monkey boy a particpant gets the change to get to the microphone and challenge Steve.

    I was sitting next to my manager Luc who happened to be recording bits and pieces with his photo camera. As you can see in the video below, he was recording at the right moment. Here's the proof:


    You will be able to see the whole keynote by going to the MIX sessions site but the above recording actually shows you how we were experiencing this with noise from the room.

  • Katrien's MSDN Blog

    MIX08 session recordings are available online


    If you could not make it to the MIX event this year you can still follow on a lot of content presented: all session recordings are available online. Lots of them are even online in less than 24 hours.

    Go to the MIX 08 Sessions site at and watch some of the great content.


    The keynote today with Guy Kawasaki and Steve Ballmer was really fun today, if you did not follow the live streaming check back on the MIX site as it will become available soon.

  • Katrien's MSDN Blog

    {Heroes Happen Here} Community Launch - 6 sessions in May 2008


    After a full Launch event on the 10th of March and a sold out TechDays event on 12th and 13th of March, some of you were unable to register and participate.

    The good news is the Visual Studio User Group is planning 6 sessions around the new Visual Studio 2008, partly a re-delivery of TechDays sessions. Register now as places are limited. You have the choice between three different sessions being delivered each of them at two locations. Easier for you as you can assist to a session closer to home.

    Here is the list of sessions with the corresponding dates.

    {Heroes Happen Here} The ABC of WCF

    In today’s highly connected world being able to communicate is very important, especially for your applications. But how? Web Services? Remoting? Enterprise Services? WCF is Microsoft’s unified framework for building communication into your application, ready for the future. In this session we will look at building services with WCF, getting our hands dirty through building a service live, in front of your eyes. After this session you should have a clear understanding of the development life-cycle for WCF, the advantages of using WCF and how to proceed with it yourself.

    Delivered by: Peter Himschoot
    Dates and locations:
    Tuesday, May 06, 2008 - Ordina Merelbeke
    Tuesday, May 13, 2008 - Kortrijk

    {Heroes Happen Here} Team Foundation Server 2008 Overview

    Visual Studio Team System 2008 Team Foundation Server is an integrated collaboration server for Visual Studio Team System. It combines team portal, version control, work item tracking, build management, process guidance, and business intelligence into a unified server. It allows everyone on the team to collaborate more effectively and deliver better quality software. This session will give you some guidance how to start with Team Foundation Server and what to expect from this integrated collaboration server.

    Delivered by: Pieter Gheysens
    Dates and locations:
    Wednesday, May 07, 2008 - Compuware Zaventem
    Wednesday, May 21, 2008 - Real Software Kontich

    {Heroes Happen Here} ASP.NET 3.5, AJAX and LINQ

    In this session, you'll see all the new stuff that Microsoft added to ASP.NET 3.5 and ASP.NET AJAX. From the new controls, the new IDE, the transparent integration of LINQ, AJAX powered... you'll learn everything you'll need to know to use the new features to their fullest power.
    In the second part, we'll cover LINQ, the new Language Integrated Query features in C# 3.0.
    Note: this is a complete new session, not a redelivery of a TechDays session.

    Delivered by: Gill Cleeren
    Dates and locations:
    Wednesday, May 14, 2008 - Ordina Lummen
    Tuesday, May 20, 2008 - Ordina Schelle

  • Katrien's MSDN Blog

    MIX essentials 2008: registration is open for the Belgian event on April 24th


    OMPpanel_MComing April 24th we are organizing our first edition of MIX essentials: this is a local 1 day event bringing you the latest information from the MIX08 conference held in Las Vegas early March.

    Join the conversation and explore how you can create next-generation Web experiences. With Keynote presentations from Steve Ballmer, and other international speakers, unveiling the latest Web-oriented solutions from Microsoft.

    Inspiration. Conversation. Education.
    Now, the Belgian Web Team brings you MIX essentials, distilled to it's essence, a comprehensive program and an intimate opportunity for innovative, technical, creative and business strategists to engage Microsoft and each other in a conversation about the future of the web.

    • Explore the latest wave of opportunities and help redefine the boundaries between: content and commerce, PC and TV, Windows and the Web.
    • Experience global and local implementations of Silverlight and engage with key players in web development and design.
    • Witness the latest Beta of Silverlight 2 in action and get the latest on Blending it together using the Microsoft Expression tools
    • Learn how to cross the chasm of challenges that developers and designers typically face.
    • Be Inspired by the wide range of topics and one-on-one guidance from Microsoft Evangelists and the local web industry
    • Network with peers from your industry and exchange ideas that will change the Web Now
    Register for The Next Web Now!
    A unique chance to connect on a wide range of topics for one-on-one guidance and inspiration.

    Steve Ballmer, Chief Executive Officer of Microsoft Corporation
    Steven A. Ballmer is Chief Executive Officer of Microsoft Corporation, the world's leading manufacturer of software for personal and business computing. Ballmer joined Microsoft in 1980 and was the first business manager hired by Bill Gates. Since then, Ballmer's leadership and passion have become hallmarks of his tenure at the company.
    During the past 20 years, Ballmer has headed several Microsoft divisions, including operations, operating systems development, and sales and support. In July 1998, he was promoted to President, a role that gave him day-to-day responsibility for running Microsoft. He was named CEO in January 2000, assuming full management responsibility for the company, which includes delivering on the company's mission of enabling people and businesses throughout the world to realize their full potential.

  • Katrien's MSDN Blog

    MIX essentials countdown gadget


    Here is version 1 of my countdown Vista gadget for the MIX essentials event on April 24th in Belgium. It's a very simple gadget but since I found one for the MIX08 event in March I also wanted for our own event. Download gadget link to my SkyDrive is below.

    image The gadget is developed in Silverlight 1.0, which allows me to add a small animation easier that doing this in HTML. As this was the first time I built a Vista sidebar gadget I looked up some info on how to create gadgets. I'm posting the main resources I used to get it to work:

    How the gadget was developed

    I first developed the application as a normal Silverlight 1 application using Expression Blend 2.5 (March 2008 preview) and Visual Studio 2008. After getting it to work normally in the browser I started adding the required changes to transform it into a Windows Vista sidebar gadget:

    1. Added a gadget.xml file to the project. See the definition of such a file in the MSDN documentation.

    2. In the JavaScript function that creates the control:

    Set the isWindowsless property to true (this allows for moving and closing the gadget in the sidebar, as well as a transparent background).
    Set the background property to transparent. Because I have slightly rounded edges and want the normal sidebar or application background to come through.

    // start snippet
    properties: {
        width: "100%",
        height: "100%",
        version: "1.0",
        background: "Transparent",
        isWindowless: "true"
    // end snippet

    3. Added a function for debug information, as describes here in the MSDN documentation. I've also used DebugView which works really well.

    System.Debug.outputString("debug message")

    Fix for getting the Silverlight gadget to work if you have installed Silverlight 2 Beta 1 on the machine

    After testing my Silverlight application normally I decided it was time to test it on the sidebar. All gadget required settings were made, the archive file (zip renamed to gadget) and then: nothing was working on the sidebar. It seemed my onLoad event was no longer being called, actually there was no error message at all.

    As I had another gadget on the machine that was also using Silverlight 1 I decided to reactivate that one and check what the difference was. Now this one was no longer running either. Problem must be with Silverlight 2 beta 1 installed. Tried it on a machine without the beta and it was working correctly.

    Apparently there seems to be an issue with Silverlight 1 gadgets no longer working once you have the Silverlight 2 beta installed. Fortunately there is an easy fix for this (thanks Stefan). In the HTML page initializing the Silverlight control you need to add x-gadget:/// syntax before the name of the xaml file.

    So, my JavaScript looks something like this (just an excerpt of the code):

                source: "x-gadget:///Page.xaml",
                parentElement: document.getElementById("silverlightControlHost"),

    Adding that solved the issue, the gadget now works both on machines with Silverlight 1 or Silverlight 2 beta 1 runtimes.

    What's next: hopefully a version 1.1 with some very sleek look if I find a designer/devigner to give me a hand :-)

Page 1 of 1 (10 items)

March, 2008