El caso de la instalación fallida de IIS en Windows Vista

El caso de hoy es el de un sistema Windows Vista en el que no era posible instalar el componente IIS (Internet Information Server), que sirve para publicar páginas web tanto local como remotamente y es un requisito previo a la instalación de algún que otro programa, como por ejemplo Virtual Server. Para instalar componentes opcionales en Vista, como sabrá, hay que ir a Panel de control, Programas, Instalar o desinstalar componentes de Windows.

El mensaje de error que aparecía era el siguiente:

Mensaje de error al intentar instalar IIS

Una de las primeras cosas que hay que examinar cuando hay problemas para instalar un componente de Windows, un paquete de idiomas, una actualización, un Service Pack, etc. es el fichero C:\Windows\Logs\CBS\CBS.log. Es posible que el registro sea bastante extenso y por ello se haya creado un fichero CBS.persist.log con las entradas más antiguas. En tal caso, es posible que tengamos que examinar este fichero también.

Buscando en el fichero de abajo hacia arriba, encontré el error que probablemente estaba abortando la instalación:

2008-12-23 11:57:34, Error                 CSI    00000012@2008/12/23:10:57:34.500 (F) d:\rtm\base\wcp\sil\silp.h(2661): Error STATUS_INVALID_PARAMETER originated in function Windows::Rtl::SystemImplementation::CFile_IRtlFileTearoff::SetAttributes expression: Valid flags check failed: Attributes
[gle=0x80004005]

Estas líneas quieren decir que ha fallado la comprobación de parámetros de una función del servicio de componentes de Vista. Concretamente la función es SetAttributes, que probablemente tenga como objetivo aplicar ciertos atributos sobre un fichero. La parte "[gle=0x80004005]" (gle es la función GetLastError) quiere decir que el último error surgido durante la ejecución de dicha función es un error HRESULT que básicamente quiere decir que el error es inespecífico. Obviamente necesitaba información mucho más útil, así que examiné el reporte a partir de ese punto y me encontré con esta línea, mucho más interesante:

2008-12-23 11:57:34, Error                 CSI    00000011 (F) STATUS_INVALID_PARAMETER #3228437# from Windows::Rtl::SystemImplementation::CFile_IRtlFileTearoff::SetAttributes(Attributes = 2048 (0x00000800))[gle=0xd000000d]

El error 0xd000000d quiere decir STATUS_INVALID_PARAMETER pero, ¿qué atributos se le estaba pasando a la función? El valor Attributes = 2048 (0x800 en hexadecimal) nos da la clave. Una búsqueda en el fichero Winddk.h del DDK de Windows devolvió el siguiente resultado:

#define FILE_ATTRIBUTE_COMPRESSED         0x00000800

Como ve, el atributo que se estaba pasando es el atributo comprimido. La compresión de ficheros es una característica del sistema de ficheros NTFS y no tiene nada que ver con los archivos .zip o .rar. Ya estaba cerca de desvelar el misterio, pero para poder aplicar una solución necesitaba saber qué fichero o ficheros estaban involucrados en el error. Observando minuciosamente el fichero CBS.log me encontré con esa información:

2008-12-23 11:57:49, Info                  CSI    00000013 Error STATUS_INVALID_PARAMETER while executing operation SetFileInformation on [l:138{69}]"\??\C:\Windows\System32\inetsrv\config\schema\FX_schema.xml, N/A, N/A"

Hay que tener en cuenta que el fichero FX_schema.xml no había sido servido aún al directorio C:\Windows\System32\inetsrv\config\schema\ (directorio de instalación de IIS), pues la instalación no pudo completarse, por lo que le indiqué al usuario que acudiera al almacén de componentes (C:\Windows\winsxs) y buscara allí el componente que contuviera ese fichero FX_schema.xml. El usuario me informó de dos resultados:

amd64_microsoft-windows-iis-sharedlibraries_31bf3856ad364e35_6.0.6000.16386_none_6ad14c4c7044b7ae (estaba sin comprimir)
amd64_microsoft-windows-iis-sharedlibraries_31bf3856ad364e35_6.0.6001.18000_none_6d080e486d2fc882 (comprimido, es decir, en color azul).

El primer resultado es el componente instalado por la versión RTM de Windows Vista; el segundo es el instalado por el Service Pack 1.

Así pues, el usuario descomprimió la segunda carpeta desde el panel de propiedades, botón Opciones avanzadas, y ya pudo instalar IIS.

¿Por qué estaba comprimida esa carpeta? Ciertamente lo desconozco, pero mi opinión es que algún software o el propio usuario lo hizo con el objetivo de ahorrar espacio en disco debido al elevado espacio en disco consumido por el directorio C:\Windows\winsxs en Windows Vista. Como puede leer en este blog del equipo de Windows, el espacio realmente ocupado es mucho menor y, como ya pudo comprobar, comprimirlo puede tener como consecuencia no poder instalar un componente de Windows.

¡Caso cerrado!

Actualización (27 de octubre de 2009): En según qué casos, puede ser que necesitemos echar un vistazo también al fichero de reporte específico de IIS, a saber, %windir%\iis.log.

Published Wed, Jan 7 2009 10:11 by dmartin

Comments

# error. algunas de las caracter?sticas no se cambiaron correctament | hilpers

Pingback from  error. algunas de las caracter?sticas no se cambiaron correctament | hilpers

Saturday, March 14, 2009 11:05 PM by Karla

# re: El caso de la instalación fallida de IIS en Windows Vista

Hola yo también tengo ese error, pero mi IIS si funcionó aluna vez, no se porque se desinstaló ademas al tratar de abrir el CBS.log como mencionas en tu articulo me aparece un "acceso denegado" mi mail es: karlilla_jaz@hotmail.com ojala pudieras ayudarme

Saturday, March 14, 2009 11:18 PM by Karla

# re: El caso de la instalación fallida de IIS en Windows Vista

tengo el mismo problema pero en mi caso alguna vez funcionó el IIS no se porque se desinstaló, pero tengo restringido el acceso a CBS.log

Sunday, March 15, 2009 6:29 AM by dmartin

# re: El caso de la instalación fallida de IIS en Windows Vista

@Karla: Selecciona el fichero CBS.log con el botón derecho, Propiedades, pestaña Seguridad y otorga a tu usuario permisos de lectura.

Friday, April 24, 2009 5:38 AM by Daniel

# re: El caso de la instalación fallida de IIS en Windows Vista

Hola a toda esta comundidad que es la mejor!!Bueno mi problema es el siguiente:

Tengo windwos vista premium. Instale el IIS7 y me creo la carpeta inetpub y demas en C. todo muy bien. Empeze a trastear configuracion y demás para poder acceder a una aplicacion cgi, pero al no poder, desisntale el IIS7 y borre inetpub. Mi proposito era empezar desde el principio, es decir volver a instalar IIS7.

El problema llega ahora. Cuando lo instalo me aparece:

Error. Algunas de las caracteristicas no se cambiaron correctamente

He estado leyendo y he hecho todo lo que deciis, pero no consigo solucionarlo

Alguna ayuda pliss??

Friday, April 24, 2009 6:54 AM by dmartin

# re: El caso de la instalación fallida de IIS en Windows Vista

@Daniel: Hay que examinar el fichero C:\Windows\Logs\CBS\CBS.log. Contáctame desde el apartado "Contact" de este blog y te mandaré una confirmación para que puedas enviarme el fichero comprimido.

Monday, April 27, 2009 9:59 AM by Daniel

# re: El caso de la instalación fallida de IIS en Windows Vista

Ya te he enviado un mensaje desde contact, si no lo recibes avisame.

Un saludo

Thursday, July 16, 2009 3:34 PM by Jose

# re: El caso de la instalación fallida de IIS en Windows Vista

Saludos Daniel

Una pregunta, cómo sabes interpretar para saber leer el archivo CBS, puesto que inicas secciones del archivo .log que de alguna forma indicas saber que pertenece a esos paquetes de instalación que acabas de instalar, y no el que pertenezcan a otras aplicaciones, ya instaladas aun a pesar de la fecha y hora.

Pero principalmente como sabes el significado de una numeracion hexadecimal y traducir su significado?

Como sabes que una sección del archivo .log representa una mala instalación y no algo que se instalo sin problema alguno.

Gracias por tus atenciones sobre esto.

Saludos.

Friday, July 17, 2009 7:30 AM by dmartin

# re: El caso de la instalación fallida de IIS en Windows Vista

@Jose: La palabra "Error" que aparece en el segundo campo de la línea en cuestión es la que da la pista de que algo va mal. Si el problema ha ocurrido hace poco, es conveniente leer el fichero desde abajo hacia arriba (desde lo más reciente a lo más antiguo).

Para saber a qué componente se refiere el error muchas veces hay que examinar el contexto, es decir, examinar unas cuantas líneas anteriores hasta ver el inicio de la transacción (en esta entrada no están esas líneas por brevedad).

Sobre traducir el código hexadecimal, suelo hacer uso de la utilidad Err.exe de Microsoft (www.microsoft.com/.../details.aspx).

Friday, July 17, 2009 9:38 AM by Jose

# re: El caso de la instalación fallida de IIS en Windows Vista

Daniel, en mi caso no es solo el IIS el que no se instala, no importa que seleccione, (asi sea Juegos > Solitario) nada de las caracteristicas de Windows Vista Business se instala.

Información del Visor de Sucesos luego del fallo:

Windows Servicing no puede completar el proceso para establecer el paquete KB973346(Security Update) en el estado Instalado(Installed). Id del evento: 4375 ErrorCode: 0x80073701

Ultima linea del CBS.log:

2009-07-16 21:01:52, Info                  CBS    Appl: Evaluating package applicability for package Microsoft-Windows-Shell-InboxGames-Package~31bf3856ad364e35~x86~zh-TW~6.0.6000.16386, applicable state: 7

2009-07-16 21:05:12, Info                  CBS    Scavenge: Package store indicates there is no component to scavenge, skipping.

Ejecute el comando sfc /scannow, pero nada, hizo uso de la herramienta CheckSUR de Microsof, igual nada. Actualice Update, pase de SP1 a SP2, pero nada.

Alguna vez te ha pasado esto? sabrias porque existe este bug de alto nivel en las caracteristicas de Windows Vista?

Friday, July 17, 2009 2:06 PM by dmartin

# re: El caso de la instalación fallida de IIS en Windows Vista

@Jose: El error 0x80073701 lo está dando el servicio de componentes de Vista, ya que tiene la forma 0x8007xxxx. El significado de ese código es "The referenced assembly could not be found"; que podría estar relacionado con tu problema a la hora de instalar componentes adicionales.

Haces bien en examinar el fichero CBS.log, pero debes fijarte en las líneas de "Error" o "FATAL", lo que has puesto son dos líneas informativas ("Info").

Si quieres puedes contactar conmigo haciendo clic sobre el enlace "Contact" de la parte izquierda del blog y así podrás enviarme el fichero CBS.log para que lo examine. No te olvides de adjuntar también el fichero CBS.persist.log, si existiera.

Friday, July 17, 2009 8:04 PM by jose

# re: El caso de la instalación fallida de IIS en Windows Vista

Gracias Daniel.

Bien, en vista de ver lo danado que estaba el sistema, posiblemente por otro programa(s). Recurri a un CD de recuperacion, luego de tener virgen nuevamente el windows vista, inmediatamente hice pruebas y sin problema alguno se instalo todo aquel que tildara (activara) en las caracteristicas o complementos de programas.

De igual forma, gracias por tus atenciones referente al caso, al menos con esto, te ahorro el dedicar tiempo a solventar problemas ajenos (lo cual me alivia) y tratare de mantener al windows con solo lo necesario instalado y en una pc virtual instalar cosas que necesite ver.

Eres muy buen conocedor de las entranas de la plataforma windows y muy dedicado a ello, mis felicitaciones ante tus apuntes en este espacio web.

Saludos.

Sunday, September 27, 2009 8:56 AM by maria del socorro

# re: El caso de la instalación fallida de IIS en Windows Vista

HOLA. QUISIERA HACERTE UNA CONSULTA:

INSTALE LA CARPETA INETPUB. Y CUANDO QUIERO MIRAR EN EL NAVEGADOR ME SALE LO SGTE:

MODULO: IIS WEB CORE

NOTIFICACION: MAP REQUESTHANDLER

CONTROLADOR NO DETERMINADO AUN

ERROR: 0X80070002

QUE PUEDO HACER PARA INSTALAR EL CONTROLADOR?

GRACIAS POR SU COLABORACION.

Sunday, September 27, 2009 9:11 AM by MARIA DEL SOCORRO

# re: El caso de la instalación fallida de IIS en Windows Vista

hola, quisiera me pudieran ayudar con la instalacion del IIS.

se creo la carperta inetpub. cuando quiero abrir los archivos me sale el sgte mensaje:

módulo: IIS WEB CORE

notificación: Map Requesthandler

controlador no especificado aún

erro 0x80070002

que quiere decir esto?. como puedo instalar el controlador?. gracias por su ayuda

Wednesday, October 07, 2009 11:52 AM by Carlos

# re: El caso de la instalación fallida de IIS en Windows Vista

Hola tengo el mismo proble del mensaje de error del IIS envio el mensaje de error que me salio espero me puedan ayudar gracias.

Plan: Package: Microsoft-Windows-IIS-WebServer-Package~31bf3856ad364e35~x86~es-ES~6.0.6000.16386, Update: IIS-HttpErrors, current: Installed, pending: Default, start: Installed, intended: Installed, targeted: Installed, limit: Installed, selected: Default

Wednesday, October 07, 2009 1:37 PM by dmartin

# re: El caso de la instalación fallida de IIS en Windows Vista

@Carlos: Lo que indicas no es un mensaje de error. Lee nuevamente el artículo para saber qué forma tienen los errores en el fichero CBS.log. Si no sacaras nada en claro del código de error y su contexto, contáctame a través de la página Contact del blog.

Leave a Comment

(required) 
(required) 
(optional)
(required)