by mbcrump via Michael Crump on 1/21/2011 1:22:12 PM
The answer is surprisingly no. It is time to end the myth that when hosting a Silverlight application, it has to end in .XAP. Let’s look at a sample Silverlight project first.
When you create a new Silverlight Project and inspect the ClientBin folder, you will see that the filename ends in .XAP.
What do you think would happen if we renamed this file to .zip and updated our hosting page to look like the following?
<div id="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/EndInXapIsCrap.zip"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="4.0.50826.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"> <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/> </a> </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
OK, now this is interesting. If we run the application, it works just like it does with the file named .XAP. We can view the page source on the Silverlight application and verify this.
Let’s examine what happened to our actual Silverlight Project. A new .XAP file was created, but it left our .ZIP alone.
If it works with .zip, what about any other extension? Let’s try a bogus extension like .MIKE. As you can see below, that that works too.
So now your probably thinking, can’t we can change the filename in the Silverlight project and it will stick right? The answer is you can but it will change itself back after you save the project.
Default Filename: (EndInXapIsCrap.xap)
New File Name – Notice the .zip file: (EndInXapIsCrap.zip)
After you save the project – it automatically appends .xap to whatever filename you entered. (EndInXapIsCrap.zip.xap)
So, what is the point of all of this? Well, if the server doesn’t allow adding MIME types then you can rename to whatever extension that you choose. You can also setup setup a post-build event to run a batch file or whatever and rename it the .XAP back to whatever extension we want. This is a very nifty trick that I hope someone finds useful.
Subscribe to my feed
Original Post: Does your Silverlight application really have to end in .XAP?
The content of the postings is owned by the respective author. Silverlight Feeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on Silverlight Feeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.