Remedio rápido para algunas instalaciones fallidas de Internet Explorer 7 en Windows XP y Windows Server 2003

El proceso de instalación de Internet Explorer 7, en determinadas versiones de Windows XP o Windows Server 2003 cuyo idioma difiere del inglés, no consigue agregar permisos de control total para el grupo predefinido Administradores sobre claves del registro que los han perdido.

Este problema se manifiesta en el archivo \Windows\Ie7.log de la siguiente manera:

IECUSTOM: Scanning for proper registry permissions…
IECUSTOM: Unwriteable key xxxxxxxx
IECUSTOM: Unwriteable key yyyyyyyy
IECUSTOM: Unwriteable key zzzzzzzz
IECUSTOM: Backing up registry permissions…
IECUSTOM: Finished backing up registry permissions…
IECUSTOM: Setting new registry permissions…
IECUSTOM: Unable to clear DACLs xxxxxxxx
IECUSTOM: Finished setting new registry permissions…
IECUSTOM: An error occured verifying registry permissions. ERROR: 0x80070534
DoInstallation: CustomizeCall Failed: 0x3f5
IECUSTOM: Restoring registry permissions…
IECUSTOM: Finished restoring registry permissions…
No se puede escribir la clave del Registro de configuraciones.

Nota: un código de error diferente a 0x80070534 en la línea An error occured verifying registry permissions indicaría un fallo de otra naturaleza que no tendría relación con lo aquí expuesto.

¿Qué significa el código 0x80070534? La herramienta Err dice:

C:\>err 0x80070534
# as an HRESULT: Severity: FAILURE (1), Facility: 0x7, Code 0x534
# for hex 0x534 / decimal 1332 :
  ERROR_NONE_MAPPED                                             winerror.h
# No mapping between account names and security IDs was done.
# 1 matches found for «0x80070534»

C:\>net helpmsg 1332

No se ha efectuado ninguna asignación entre los nombres de cuenta y los identificadores de seguridad.

El motivo del error de instalación de Internet Explorer 7 es un defecto de programación en el archivo Iecustom.dll. Se asumió que el grupo de administradores se llama Administrators, lo que no siempre es cierto puesto que, según el idioma de Windows, los nombres de los grupos de seguridad predefinidos pueden venir traducidos: Administradores en portugués y español, Administrateurs en francés, Administratoren en alemán… Ejemplos más exóticos son Järjestelmänvalvojat en finlandés o Rendszergazdák en húngaro. En su lugar debió usarse el identificador de seguridad del grupo, que se definió como S-1-5-32-544.

Las versiones beta y RC1 de Internet Explorer 8 también presentaban este defecto, aunque Microsoft lo corrigió por fortuna en el programa de instalación de la versión definitiva (RTM). Esta vez se le solicita correctamente a Windows, mediante la función CreateWellKnownSid, la estructura de datos que representa el identificador de seguridad del grupo predefinido Administradores.

Sin embargo, el descuido da una idea para una solución, a mi entender, más rápida que la revisión manual de los permisos de las claves afectadas y menos agresiva que la aplicación de herramientas como SubInACL sobre ramas completas del registro. Podemos crear un nuevo grupo con el nombre Administrators y agregarle el usuario que va a ejecutar la instalación de Internet Explorer. Este cambio en la pertenencia de grupo se aplicará por primera vez en el siguiente inicio de sesión del usuario, por lo que no tiene un efecto inmediato.

Importante: las instrucciones están pensadas para entornos domésticos. Desconozco las implicaciones del procedimiento sobre un controlador de dominio basado en Windows Server 2003 (por el contrario, no debería haber inconveniente en un servidor miembro o un servidor independiente), o si podría interferir con despliegues automáticos de Internet Explorer 7 en entornos empresariales. Para esos casos particulares se ruega una evaluación cuidadosa, probando sobre un grupo limitado de sistemas si hace falta.

Es más largo explicar bien el método que llevarlo a cabo.

  1. Abrir una ventana de símbolo del sistema: Inicio, Ejecutar, CMD. O Inicio, Todos los programas, Accesorios, Símbolo del sistema.
  2. Crear el grupo Administrators, con un comentario opcional para recordar su propósito.
    net localgroup administrators /add
    O bien,
    net localgroup administrators /add /comment:»Grupo provisional para facilitar la instalación de Internet Explorer 7″
  3. Agregar el usuario que iniciará la instalación de Internet Explorer 7, que puede ser el mismo que ejecuta estas órdenes. Si el nombre está formado por varias palabras, es imprescindible entrecomillarlo (lo normal y más recomendable en primer lugar es que no contenga espacios). Por ejemplo:
    net localgroup administrators /add Frankenstein
    O bien,
    net localgroup administrators /add «Hombre Lobo»
  4. Comprobar que la pertenencia al grupo es correcta.
    net localgroup administrators
  5. Cerrar la sesión y abrirla con el usuario agregado anteriormente.
  6. Instalar Internet Explorer 7.
  7. Si la instalación ha terminado correctamente, se puede eliminar el grupo (únicamente si lo hemos creado nosotros, ojo, no vaya a ser que borremos por equivocación un grupo predefinido). Esto no implica la supresión de las cuentas de usuario, tan solo su condición de pertenencia.
    net localgroup administrators /delete
    Si ocurrió un error, se recomienda dejar en un foro el contenido del archivo \Windows\Ie7.log para recibir más ayuda.

Resumen:

  • Crear grupo: net localgroup administrators /add
  • Agregar usuario: net localgroup administrators /add Fulano
  • Cerrar la sesión e iniciarla con Fulano.
  • Instalar Internet Explorer 7.
  • Borrar el grupo: net localgroup administrators /delete

Espero que esto sea útil.

4 thoughts on “Remedio rápido para algunas instalaciones fallidas de Internet Explorer 7 en Windows XP y Windows Server 2003

Responder a anonymous Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *