In its third version Silverlight finally has out of browser support. This allows developers to easily create a desktop and web application with one set of code. Not only does this provide a productivity increase for developers it also provides a better user experience for the end user and options such as offline support.
The following new properties were added to simplify out of browser support.
1: 2: Application.Current.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler(Current_CheckAndDownloadUpdateCompleted);
5: 6: bool IsOOB = Application.Current.IsRunningOutOfBrowser;
8: 9: bool IsConnected = NetworkInterface.GetIsNetworkAvailable();
Mostly these are just basic static properties but something as simple as knowing whether or not the network is available will make providing automatic offline data caching a possibility.
Also an asynchronous method “Application.Current.CheckAndDownloadUpdateAsync” will automatically check to see if the clients application is up to date. Microsoft has left it up to the developer to determine when and where this check is performed. This method browses to the originating URL and looks for differences in the XAP file. If a difference is found it will automatically download and install the latest version and when complete raise an event you can then prompt the user to restart the application at which point they will be running the latest version.
On a side note I just wanted to mention this is the first document I've written using voice recognition which is built in to windows 7. I've dabble with voice recognition in the past but the latest version in windows 7 seems light years ahead of where we were just a couple of years ago. If you have windows 7 I highly sugest you give it a try.