Diferencias entre aplicaciones WPF cliente y XBAP
Muchas veces me preguntan las diferencias que hay entre el clásico ejecutable que generamos con WPF y que instalamos en el cliente y el concepto de XBAP que es una aplicación WPF también pero que es ejecutada a través del Navegador. Aunque los dos tipos de aplicaciones son hechas con WPF a la hora de diseñar la aplicación hay que tener muy claro si se va a elegir un modelo u otro.
Asi como el tipico ejecutable de WPF se instala como siempre en el cliente (xcopy, click-once) y con seguridad por defecto Full-trust que luego puede ser cambiado por el administrador del equipo, XBAP tiene una serie de restricciones que tenemos que tener en cuenta. La primera es que no se instala en el equipo cliente sino que se accede a través de un navegador que puede ser IE o FireFox, este acceso se realiza a través de una URL como si fuese una aplicación web.
una aplicación XBAP ya hemos dicho que no se instala en el equipo del cliente sino que se almacena en la cache y se ejecuta, si cambia la versión del servidor la copia de la cache se reemplaza por la nueva versión antes de ejecutarse, con lo que la instalación es automática y nos olvidamos de ella.
Las aplicaciones XBAP se ejecutan en una sandbox bajo partial trust, en otras palabras se permite el acceso a ciertas librerías de .NET pero a otras no que en WPF son accesibles , realmente los permisos son como una aplicación InternetZone. En la siguiente lista se indican que objetos están permitidos y cuales no
Permitidos
- UI Controls
- Text Input controls (incluido RichTextBox).
- Flow documents y lectores
- XPS documents
- 2D drawing
- 3D
- Animation
- Audio
- Video
- Pages
- MessageBoxes
- OpenFileDialog
- Internal Drag and drop
- llamadas a WCF services.
- llamadas a ASMX services.
No Permitidos
- Venatanas Stand-alone .
- Dialogos Estandars.
- Interop con controles windows o ActiveX.
- Bitmap Effects
- Shader Effects
Al estar en una InternetZone tienen ciertas operaciones restringidas, en el siguiente cuadro se muestra la lista de permisos de una aplicación XBAP

Como veis solo tiene activos 7 permisos, los demás permisos son denegados.
Así que no elijáis tan alegremente que es mejor una aplicación XBAP porque se puede acceder desde cualquier sitio