I responded to a question in a forum today, which got me thinking about running Silverlight Applications on the desktop. So this got me thinking of the options available.
File System Silverlight Applications
Silverlight applications can run from the filesystem already without a backend web host.
The issue is that you don't have access to any networking functions. WebClient, WCF Services, Sockets etc.
So if you want to deploy a game, or a learning application on a CD you can do this with Silverlight (cross platform) using this method. However If you are not worried about cross platform, WPF is probably a better solution.
Offline Silverlight Applications
So, the second option we have is to run the application offline (or online if you are online). I can connect to my silverlight application and it run it offline.
The downside of this approach is that i need to be online to perform the first download. My application is also dependent on Browser Cache. So if my browser cache is cleared, i need to download my application.
Could be a pain at a critical time. However this is a great solution, if you want to have an online access which is available (not critically) when the user is offline.
Desktop Silverlight Application
So what other solution do I have for running my Silverlight Application locally?
Well this is where my crazy out the box thinking began.