En mi empresa un proveedor nos ha proporcionado una herramienta de testeo de su WebService y esta estaba programada en ASP.Net. Por experiencia, se que este tipo de WebService que ha montado este proveedor son enormemente complicados, asi que quise hacer uso de su herramienta de test.
Al montarla me plantee 2 opciones, la primera y mas complicada y que por tanto rechace es un modulo de Apache que hace de pasarela entre ASP.Net y Apache. Esta opción la rechace porque era muy complicada, sobre todo cuando al integrar el módulo de apache este me decía un bonito mensaje de error de «Operation requested failed» y por tanto no podía arrancar apache.
Mi segunda opción y teoricamente más sencilla, era la de montarme un Internet Information Server (IIS) en mi flamante Windows XP Profesional con SP 2. Recalco lo de teóricamente porque las veces que he instalado un IIS ha sido, añadir complemento, instalar y a correr. Pero claro esta, estamos en una empresa de informática y como no, aquí todo debe de fallar, al menos, a la primera. Cuando insertando un «disco original de Windows» instalo el componente de IIS, este me da un error como el siguiente:
Programa de instalación no puede copiar el staxmem.dl_ de archivo.
Asegúrese de que el disco con etiqueta está en la unidad seleccionada abajo o proporcione la ubicación donde se puede encontrar el archivo
Por supuesto, el archivo staxmem.dl_ si que se encuentra en el disco y todo esta correcto, pero aún así, no funciona. Googleando durante algún tiempo, encuentro una referencia del soporte técnico de Microsoft con el título «Mensaje de error cuando el error intenta instalar componentes IIS en Windows XP«. En esta página de referencia, lo que nos viene a decir es que hay una base de datos de seguridad corrompida y nos da un comando para repararla. El comando facilitado en cuestión es:
%windir%securitydatabasesecedit.sdb /p esentutl
Según el comando facilitado por Microsoft, secedit.sdb, que es la base de datos, lo debemos de ejecutar con los parámetros, pero realmente es una errata y es al revés, así que el comando sería el siguiente:
esentutl /p %windir%securitydatabasesecedit.sdb
De esta forma, nos aparecerá una ventana de dialogo, que nos preguntara que si queremos reparar la base de datos, así que pinchamos en Aceptar (Nota, no es aceptar, porque viene en ingles) y tras unos segundos, repara nuestra base de datos. No hace falta decir, que antes de hacer esto, hagais una copia de seguridad del archivo secedit.sdb por si las moscas.
Una vez reparada la base de datos de seguridad, ya podemos instalar nuestro IIS como si de cualquier otro componente se tratara.
Por último, vamos a registrar ASP.Net dentro de IIS para que funcione correctamente. Pare esto debemos de ejecutar el comando aspnet_regiis.exe con el parámetro -i para que funcione, tal que
%windir%Microsoft .NetFrameworkvX.xxxxxxxaspnet_regiis.exe -i
No hace falta decir, que antes de ejecutar este comando, deberemos de tener instalada alguna versión de .Net Framework en nuestro equipo.
Estos han sido los pasos que me han ayudado a instalar IIS con XP y ASP.Net, que aunque parezca una tontería, hay veces que puede llegar a complicarse.