Publicación de aplicaciones con RemoteApp

Sea cual sea el método de publicación de las RemoteApp, hay una serie de tareas comunes que es necesario llevar a cabo para implementar una infraestructura de aplicaciones remotas:

1) Configuración de los servidores que hospedarán las aplicaciones:

Estos servidores deben ser configurados como servidores de sesión de escritorio remoto, para lo cual debe instalarse en ellos el servicio de rol "Host de sesión de escritorio remoto", perteneciente al rol "Servicios de escritorio remoto".


Figura 1.- Servicio de rol host de sesión de escritorio remoto

Adicionalmente para poder usar servicios de escritorio remoto es necesario la adquisición de licencias: RDS CALs. Cada CAL de RDS permite la ejecución de sesiones de escritorio remoto desde un mismo dispositivo (RDS CAL de dispositivo), o usando una misma cuenta de usuario (RDS CAL de usuario).

Para poder gestionar y asignar estas licencias a los clientes, de manera que se puedan usar las sesiones de escritorio remoto, y por lo tanto se puedan ejecutar las aplicaciones RemoteApp, se requiere la existencia de servidores de licencias de RDS con los cuales puedan contactar los servidores de sesiones de escritorio remoto.

El servicio de administración de licencias de RDS es otro servicio de rol de los incluidos en el rol de RDS, y puede estar instalado en los propios servidores de sesiones de escritorio remoto, o en cualquier otro servidor del dominio.

A continuación deben instalarse las aplicaciones que se quieren publicar como RemoteApp para los usuarios, así como todos los componentes o aplicaciones adicionales de las que dependan.

A la hora de instalar aplicaciones que se quieren usar en el contexto de sesiones de escritorio remoto, la instalación debe de hacerse usando la opción de "Instalar aplicación en Servidor de Escritorio Remoto", disponible en la sección "Agregar o quitar programas" del panel de control.

Esta opción lanza un asistente que supervisará en segundo plano la instalación de la aplicación, realizando los cambios adecuados para que pueda ser ejecutada en una sesión de escritorio remoto sin problemas.


Figura 2.- Instalación de aplicaciones para ejecución en sesiones de escritorio remoto

Nota: si el instalador de la aplicación es de tipo "MSI" (Microsoft Installer) automáticamente detectará que se está instalando en un servidor de sesiones de escritorio remoto y modificará la instalación en consecuencia, por lo que no será necesario lanzar la instalación desde el panel de control.

Por último se debe ajustar la configuración de los servidores de sesión de escritorio remoto, para ello se usa la aplicación "Configuración de host de sesión de escritorio remoto", que es una de las herramientas de administración de servicios de escritorio remoto que la instalación del rol ha añadido al menú inicio del servidor, bajo la carpeta "Servicios de escritorio remoto"


Figura 3.- Herramientas de administración y configuración de RDS

De esta herramienta se pueden configurar aspectos necesarios para el correcto uso de los servicios sesiones de escritorio remoto en general, y de RemoteApp en particular, tales como:

- Modo de licenciamiento: se debe ajustar el modo de licenciamiento usado por el servidor de sesiones de escritorio remoto a el tipo de licencias disponibles en los servidores de licencias de RDS.

- Pertenencia a una granja de servidores: para aumentar la disponibilidad del sistema es posible publicar las aplicaciones RemoteApp en una granja de servidores, en vez de en uno solo.

-  Interfaces de red a usar.

- Redirección de recursos desde los equipo clientes.

También es importante configurar qué usuarios y grupos de usuarios se desea que puedan usar sesiones de escritorio remoto, ya sea directamente o a través de RemoteApp. El lugar indicado para realizar esta configuración es el panel de gestión de usuarios de Active Directory (o el del servidor local si no hay dominio).

Para que un usuario o grupo de usuarios tenga acceso debe de pertenecer al grupo de usuarios "Usuarios de escritorio remoto".

2) Agregar las aplicaciones que estarán disponibles como RemoteApp y establecer la configuración global de la implementación:

La aplicación "Administrador de RemoteApp" es otra de las herramientas de administración de servicios de escritorio remoto que la instalación del servicio de rol "Host de sesión de escritorio remoto" ha añadido al menú inicio del servidor, bajo la carpeta "Servicios de escritorio remoto".

Desde ella es posible seleccionar aplicaciones instaladas en el servidor para que sean usadas como RemoteApp, seleccionando la acción "Agregar programas RemoteApp".


Figura 4.- Agregar aplicaciones RemoteApp desde el Administrador de RemoteApp

Esto lanza un asistente en el cual se nos presentan todas las aplicaciones que pueden ser publicadas como RemoteApp. Se pueden seleccionar múltiples aplicaciones de esta lista.


Figura 5.- Selección de aplicaciones en asistente de RemoteApp

A la lista de aplicaciones que muestra el asistente se le pueden añadir, usando el botón "Examinar" otras, que aún estando instaladas en el servidor, no hayan sido detectadas por el asistente.

Para cada aplicación es posible configurar una serie de características desde la opción "Propiedades".


Figura 6.- Propiedades de una RemoteApp

Se pueden configurar opciones como el icono o el nombre de aplicación al ser publicada como RemoteApp. También se pueden especificar argumentos de línea de comandos que se ejecutarán al lanzar la aplicación como RemoteApp.

Por defecto todas las aplicaciones añadidas a la lista de RemoteApps se marcan con el check de usables por Acceso web a escritorio remoto, pero se pueden excluir algunas.

En la pestaña "Asignación de usuario" se pueden especificar usuarios o grupos de usuarios que tienen acceso específico a esta RemoteApp, o dejar la configuración por defecto en la cual todos los usuarios del grupo "Usuarios de escritorio remoto" tienen acceso a todas las RemoteApp.

Desde la aplicación "Administrador de RemoteApp" también se pueden configurar opciones que se aplican de forma global a todas las RemoteApp, tanto si se publican desde acceso web a escritorio remoto, como si se publican usando paquetes msi o rdp.

Desde la acción "Configuración del servidor host de sesión de escritorio remoto" se pueden configurar opciones como por ejemplo si se va a publicar junto con las RemoteApp un acceso a sesiones completas de escritorio remoto, si se va a permitir el uso desde las sesiones de aplicaciones distintas a las incluidas como RemoteApp, configuraciones especiales del protocolo RDP, uso de certificados para firmar paquetes rdp o MSI...


Figura 7.- Configuración de implementación global de RemoteApp

Las siguientes tareas a realizar varían según el método de publicación usado.

 Publicación de RemoteaApp mediante Acceso web a escritorio remoto

La distribución de los programas RemoteApp a través de Acceso web a escritorio remoto (RD Web Access) permite que los usuarios puedan acceder a los programas RemoteApp desde una página web.

Nota: aunque se proporciona una página web estándar en la cual, sin necesidad de modificaciones, se añaden por defecto los elementos disponibles para los usuarios, es posible integrar esta funcionalidad en una página web corporativa personalizada.

Para poder implementar una solución de este tipo es necesario en primer lugar realizar las tareas de configuración de los servidores host de sesión de escritorio remoto, y de adición de las RemoteApp a dichos servidores, comentadas con anterioridad en este mismo punto.

A continuación se deben realizar las siguientes tareas adicionales:

1) Instalar el servicio de acceso web a escritorio remoto:

Acceso web a escritorio remoto es un servicio de rol, incluido en el rol de servicios de escritorio remoto (RDS).

El servidor de acceso web a escritorio remoto tiene que ser un servidor web, y por este motivo la instalación del servicio de rol "Acceso web a escritorio remoto" llevará consigo también la instalación del rol de Servidor Web (IIS).

Una vez agregado el servicio de rol se dispone en la carpeta "Servicios de escritorio remoto" del menú inicio, de la herramienta "Configuración de acceso web de escritorio remoto".

Esta herramienta abre un página web que permite la configuración básica del servicio de acceso web a escritorio remoto.

2) Configurar acceso del servidor de acceso web a los servidores de sesión de escritorio remoto que alojan las RemoteApp:

En el caso de que el servidor de acceso web a escritorio remoto sea un equipo distinto al servidor de sesión de escritorio remoto que aloja las RemoteApp, es necesario configurar este último para que permita al servidor web consultar la lista de RemoteApp disponibles, para poder añadirlas a la página web de acceso web a escritorio remoto.

Para hacer esto basta con agregar el servidor de acceso web a escritorio remoto al grupo se seguridad "Equipos de acceso web de TS".


Figura 8.- Configuración de la pertenencia del servidor de acceso web a escritorio remoto al grupo Equipos de acceso web de TS

3) Configuración del origen de datos para Acceso web de escritorio remoto:

Se debe especificar que origen de datos usará el servidor de acceso web a escritorio remoto para presentar la lista de RemoteApps disponibles a los usuarios.

Dos pueden ser las formas en que los servidores de acceso web a escritorio remoto pueden obtener esa información:

i) Usando un servidor agente de conexión de escritorio remoto (RD Connection Broker): agente de conexión a escritorio remoto es un servicio del rol de RDS que proporciona acceso unificado a los usuarios a escritorios remotos de VDI, a sesiones remotas de escritorio remoto y a RemoteApp.

El agente de conexión de escritorio remoto se configura usando la herramienta gratuita de Microsoft "Remote Desktop Connection Manager", disponible en la URL:

https://www.microsoft.com/downloads/en/details.aspx?FamilyID=4603c621-6de7-4ccb-9f51-d53dc7e48047&displaylang=en

ii) Usando orígenes RemoteApp: un origen de RemoteApp puede ser un servidor de sesión de escritorio remoto, o una granja de ellos igualmente configurados, en el cual se han definido RemoteApps.

De forma predeterminada, si Acceso web a escritorio remoto está configurado en un servidor que también es servidor de sesión de escritorio remoto, rellena su lista de programas RemoteApp con todos los configurados en dicho servidor.

La definición del origen de datos usado por un servidor de acceso web a escritorio remoto se hace desde la herramienta "Configuración de acceso web de escritorio remoto", disponible en todos los servidores con este servicio de rol instalado.

Esta herramienta lanza una página web de configuración del servicio.


Figura 9.- Página web de configuración de servicio de acceso web a escritorio remoto

Una vez iniciada sesión en esta web, con un usuario con permisos de administrador, es posible acceder a la configuración del servicio desde la ficha "Configuración".


Figura 10.- Configuración de orígenes de datos para servicio de acceso web a escritorio remoto

Una vez configurado correctamente el servicio los usuarios disponen, en una misma página web, de todos los accesos a RemoteApp, además de recursos adicionales como la posibilidad de establecer una sesión completa de escritorio remoto.

Los contenidos de esta web se actualizarán automáticamente según se vayan añadiendo o eliminado aplicaciones de los servicios de acceso web a escritorio remoto.

Por defecto el servicio de acceso web a escritorio remoto se instala en el sitio predeterminado de IIS, por lo que el acceso a los contenidos se hace por defecto en la dirección: https://servidor_RD_web_access/RDWeb.

Cuando en la página de acceso web a escritorio remoto, el usuario pulsa sobre el icono de una RemoteApp, automáticamente se inicia una sesión de escritorio remoto en el servidor que hospeda la RemoteApp, y en el equipo del usuario se ejecuta el control ActiveX del cliente de conexión a escritorio remoto conectando con dicha sesión.


Figura 11.- RemoteApps publicadas en servidor de acceso web a escritorio remoto

Nota: si es la primera vez que se accede a la página se solicitará la instalación del control ActiveX del cliente de conexión a escritorio remoto.

Una vez que se lanza la RemoteApp en lugar de ver el escritorio remoto completo, y dentro de ella la ventana de la aplicación, en la pantalla el usuario sólo ve la ventana de la RemoteApp.


Figura 12.- RemoteApp en ejecución

 Distribución de RemoteApp mediante paquetes de aplicación rdp o MSI

La creación de paquetes que contengan todos los recursos e información necesarios para la ejecución de una RemoteApp permite multitud de formas de distribución de este tipo de aplicaciones, como pueden ser compartición desde una carpeta de red, uso de soluciones especializadas en distribución electrónica de software o uso de medios extraíbles (DVDs o pendrives USB...)

Para poder generar este tipo de paquetes es necesario en primer lugar realizar las tareas de configuración de los servidores host de sesión de escritorio remoto, y de adición de las RemoteApp a dichos servidores, comentadas con anterioridad en este mismo punto.

Una vez cumplimentados esos pasos, los paquetes se pueden generar desde la herramienta "Administrador de RemoteApp", disponible en la carpeta "Servicios de escritorio remoto" del menú inicio del servidor de sesión de escritorio remoto en el que está definida la RemoteApp que se quiere empaquetar.

Para ello desde dicha herramienta seleccionamos la RemoteApp que se quiere empaquetar, y en el panel de acciones se selecciona "Crear archivo rdp" o "Crear paquete de Windows Installer", según lo que se desee hacer.


Figura 13.- Opciones para empaquetar aplicaciones remotas disponibles en el administrador de RemoteApp

Cualquiera de las dos opciones va a lanzar un asistente que nos permite configurar varias opciones del paquete antes de generarlo, como pueden ser la ubicación del paquete, el servidor, o la granja de servidores, de sesión de escritorio remoto en los que se quiere ejecutar la RemoteApp que se está empaquetando, el puerto que va a usar la RemoteApp, la configuración de puerta de enlace de escritorio remoto (para el caso de que se quiera acceder a la RemoteApp a través de Internet sin usar VPN) o el uso de certificados para firmar el paquete que se va a crear.


Figura 14.- Opciones de configuración para creación de paquetes rdp o MSI de RemoteApp

En el caso de crear un paquete de tipo MSI se pueden configurar aspectos adicionales como la creación automática de un acceso directo a la RemoteApp en el escritorio de los usuarios y un grupo de programas en el menú inicio.

También es posible configurar el paquete para que al instalarse en los equipos de los usuarios automáticamente asocie los tipos de archivos vinculados con la aplicación a la ejecución de la RemoteApp. De esta manera cuando un usuario haga doble click en un archivo asociado a la aplicación automáticamente se lanzará la RemoteApp.


Figura 15.- Opciones adicionales de configuración para creación de paquetes MSI de RemoteApp