2011-04-05 8 views
5

¿Puedes forzar a Silverlight a que solo ejecute Out-of-browser?¿Puedes forzar a Silverlight a que solo ejecute Out-of-browser?

EDITAR: La razón por la que estoy preguntando es porque mucha de la funcionalidad de Silverlight solo funciona en OOB. Si mi aplicación depende de esto, necesito solicitar que la aplicación Silverlight se ejecute en ese modo o elegir otra cosa.

+0

como una aplicación wpf? –

+0

en serio, ¿por qué no instalar wpf y clickonce? –

+0

@Nathan: ¿Puede una instalación de clickonce también instalar el .NET framework requerido? – AnthonyWJones

Respuesta

4

de http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/03/15/silverlight-4-quick-tip-out-of-browser-improvements.aspx

característica adicional existir con nuevo modelo fuera de banda es la capacidad de instalar aplicaciones no desde la página web (como si fuera desde la versión 3), pero a partir de la línea de comandos (archivo XAP tener disponible). El iniciador OOB de Silverlight tiene nuevos parámetros de línea de comandos para instalar, desinstalar y ejecutar aplicaciones en el "modo de emulación", sin instalarlo.

Por ejemplo. para instalar la aplicación en el escritorio utilice el siguiente comando:

"%ProgramFiles(x86)%\Microsoft Silverlight\sllauncher.exe" /overwrite /install:"X:\PACKAGE_LOCATION\SL4Features.Web\ClientBin\APPLICATION.xap" 
/origin:http://ORIGINAL_LOCATION/ORIGINAL_HOSTING_PAGE /shortcut:desktop 

desinstalarlo utilice el siguiente comando:

"%ProgramFiles(x86)%\Microsoft Silverlight\sllauncher.exe" /overwrite /uninstall:"X:\PACKAGE_LOCATION\APPLICATION.xap" 
/origin:http://ORIGINAL_LOCATION/ORIGINAL_HOSTING_PAGE /shortcut:desktop 

para ejecutar la aplicación sin necesidad de instalarlo (en modo de emulación), utilice el siguiente comando:

"%ProgramFiles(x86)%\Microsoft Silverlight\sllauncher.exe" /overwrite /emulate:"X:\PACKAGE_LOCATION\APPLICATION.xap" /origin:http://ORIGINAL_LOCATION/ 
8

¿Y si uso esto en su Application_Startup incluso en App.xaml.cs: -

private void Application_Startup(object sender, StartupEventArgs e) 
{ 

    if (IsRunningOutOfBrowser) 
    { 
      this.RootVisual = new MainPage(); 
    } 
    else 
    { 
      this.RootVisual = new PleaseRunOOB(): 
    } 
} 

Ahora cree un UserControl muy simple llamado PleaseRunOOB para presentarle al usuario la necesidad de instalar y/o ejecutar la versión OOB de la aplicación.

+0

me gusta esto en teoría. Simplemente estoy luchando con por qué incluso lo publicaría en la web si no desea que se vea en un navegador. –

+0

@Nathan: como medio de entrega. – AnthonyWJones

+0

@ Nathan: Hay una gran cantidad de necesidad en este mundo de lo que Silverlight puede proporcionar para las aplicaciones de LOB. El elemento más importante es que elimina la necesidad de tener que luchar con los administradores de sistemas para obtener configuraciones especiales implementadas para cada aplicación que los desarrolladores crean para resolver problemas de negocios. Además, para un nuevo producto en el que estoy trabajando, nos brinda el soporte multiplataforma que hemos estado buscando desde el inicio. –

Cuestiones relacionadas