Silverlight 3 Out of browser
Una de las características más interesantes de Silverlight 3, desde el punto de vista del desarrollo de aplicaciones RIA, es la posibilidad de poder ejecutar una aplicación Silverlight fuera del navegador.
Para poder utilizar la aplicación no es necesario abrir el navegador e indicar la Url dónde se encuentra. La aplicación la podemos tener instalada en nuestro equipo y acceder a ella como si accediésemos a una aplicación WinForm tradicional.
Eso sí, la aplicación no deja de ser una aplicación Silverlight y sigue ejecutándose dentro de la sandbox, no teniendo acceso a todos los recursos de sistema.
Si queremos que nuestra aplicación pueda comportarse de esta manera, sólo tenemos que hacer unos pequeños ajustes en la configuración del proyecto.
En la pestaña de Silverlight de las propiedades del proyecto, tendremos que activar el check de permitir que la aplicación se pueda ejecutar fuera del navegador.

Una vez activado esta opción podremos configurar diversos parámetros que nos permiten personalizar cómo se instala; el nombre de la aplicación, el nombre del acceso directo, la descripción, los diferentes iconos que se usarán al instalarse…

Una vez hechos los cambios en las propiedades se creará un nuevo fichero en el proyecto llamado OutOfBrowserSettings.xml, que contiene la configuración establecida.
<OutOfBrowserSettings ShortName="AppEjemplo" EnableGPUAcceleration="False" ShowInstallMenuItem="True">
<OutOfBrowserSettings.Blurb>Esta es una aplicacion de ejemplo.....</OutOfBrowserSettings.Blurb>
<OutOfBrowserSettings.WindowSettings>
<WindowSettings Title="Aplicacion de Ejemplo" />
</OutOfBrowserSettings.WindowSettings>
<OutOfBrowserSettings.Icons />
</OutOfBrowserSettings>
Ya está, no es necesario hacer nada más.
Si ejecutamos nuestra aplicación, desde en el menú contextual de la aplicación encontraremos una nueva opción, que nos permitirá instalar la aplicación fuera del navegador.
Fijaros, que en la opción pone “AppEjemplo” porque en la configuración nosotros lo hemos indicado así.
Si decidimos instalar la aplicación, nos aparecerá una ventana como la que pongo a continuación:
Y ya está instalada. La aplicación queda instalada en C:\Users\[Nombre de Usuario]\AppData\LocalLow\Microsoft\Silverlight\OutOfBrowser.
Si una vez instalada pinchamos sobre el acceso directo del menú de inicio o del escritorio tendremos la aplicación funcionando, fuera del navegador.
Y ya por último, decir que por código también podemos dar la orden de que la aplicación se instale, y por ejemplo, usar un botón de la aplicación en lugar del menú contextual.
private void AppInstal_Click(object sender, RoutedEventArgs e)
{
Application.Current.Install();
}