sábado, 19 de marzo de 2016

Configurar un servicio Web compilado con un framework de versión anterior al del servidor en el que se instala


Normalmente un programa compilado en versiones antiguas funciona en ordenadores o servidores con sistemas operativos más modernos pero podemos encontrarnos en el caso de intentar instalar un servicio web con un instalador .msi generado con un framework antiguo y que al ejecutarlo en un servidor con un sistema operativo más moderno y con un framework más moderno, nos salga un error diciendo que el framework con el que se creó el instalador es incompatible con el framework más moderno del servidor.
El ejemplo que describiré es un servicio web implementado para funcionar con el framework de 1.1 de Microsoft pero al intentar instalarlo sobre un servidor con versiones superiores del framework (en este caso Windows 2008 Server) pero sirve para cualquier otro S.O. si intentamos instalarlo ejecutando el instalador .msi dará un error de framework.

Los pasos a seguir son los siguientes:
Instalar Microsoft Framework 1.1 en el servidor
Instalar el framework 1.1 de Microsoft en el idioma del servidor, para ello entramos en la página de instalación de Microsoft.

Activar la compatibilidad con IIS6.

Ejecutamos en el servidor el Server Manager.

abrir el server manager

Nos colocamos sobre Roles -> Web Server IIS y sobre Role Services elegimos la opción Add Role Services (marcada en rojo)



añadir servicios de rol


Nos aparece una pantalla sobre la cual marcamos IIS6 Management Compatibility.
 

Activar compatibilidad IIS 6


Instalar el Servicio Web

Desde el servidor con el botón derecho del ratón pulsamos sobre el icono del modo consola de Windows y elegimos ejecutar como administrador.

ejecutar comandos con permisos de administrador


Sobre el ejecutor de comandos de Windows escribimos el nombre del instalador Nombre_ServicioWeb.msi en el directorio donde lo tengamos alojado.
Esto nos instalará el servicio web.

Crear el Application Pool

Para configurar el servicio web y que pueda ejecutarse en versiones posteriores de framework es necesario volver de nuevo al server manager y desde Roles-> Web Server -> Internet Information Server pulsamos Add Application Pool (marcado en rojo como paso 1)

crear un application pool en IIS

Lo que nos abre un cuadro de diálogo en el que pondremos el nombre de nuestro nuevo Application Pool y elegimos .NET Framework v2.0 y en Managed Pipeline mode ponemos classic y pulsamos OK. (Marcado en rojo como Punto 2)
Una vez creado el Application Pool posicionados sobre él pulsamos Advanced Settings (Marcado en rojo como punto 1).

configurar Application Pool


En Enable 32 Bit-Application ponemos True (Marcado en rojo como 2). En Identity ponemos Local System (Marcado en rojo como 3) y pulsamos OK (marcado con 4).
Finalmente sobre Roles-> Web Server -> Internet Information Server  nos colocamos sobre nuestro servidor -> Default Web Sites -> servicioWeb (Marcado con 1 en rojo) pulsamos Advanced Settings (macado en rojo como 2) y nos muestra un cuadro de diálogo

Configurar Application Pool en IIS


Sobre el que Elegimos el Application Pool elegido (marcado en rojo con 3) 
Si hecho todo esto sigue sin funcionar el instalador  o el servicio web podemos revisar una cosa más.
En el IIS Sobre la carpeta de nuestro servidor nos aparece una serie de iconos. Elegimos el icono ISAPI and CGI Restrictions (doble click sobre el icono)

configurar ISAPI

Nos sale una pantalla que nos muestra los diferentes framework instalados. Elegimos el framework 1.1 y sobre el menú de la derecha pulsamos Allow.

permitir framework


No hay comentarios:

Publicar un comentario