Windows Installer: la instalación de MSI falla con el estado de error 1603
Durante el proceso de distribución de un paquete MSI a Windows remoto Server 2012 R2 hosts a través del cmdlet Start-Process, encontré un comportamiento interesante. En algunos casos, ese paquete MSI se instaló sin problemas; en otros, fallaba al generar silenciosamente un ID de evento 10837 en el registro de la aplicación.
Con el registro detallado habilitado, se observó el siguiente mensaje de error en el archivo de registro MSI:
Estado de éxito o error de instalación: 1603.
El estado de error 1603 está documentado en Microsoft Technet. Sin embargo, ninguno de los escenarios enumerados en el artículo se aplica a mi caso. Pude instalar ese paquete MSI localmente sin problemas, y el error apareció aleatoriamente al realizar la instalación a través de PowerShell.
Con más pruebas, me di cuenta de que el problema solo aparecía cuando la cuenta de usuario, desde el que se estaba ejecutando el script, nunca antes había iniciado sesión en el sistema de destino.
Le pedí a uno de mis colegas, que comprende mejor cómo funciona Windows Installer, que me ayude con este caso. Después de una investigación exhaustiva, me señaló las siguientes líneas en el archivo de registro de MSI:
Aparentemente, en 2014 Microsoft publicó un boletín de seguridad MS14-049 que contenía un parche para corregir una vulnerabilidad en el servicio Windows Installer. Sin embargo, después de instalar esta actualización de seguridad, se interrumpe la instalación del paquete MSI. Esto está documentado como un ‘Problema conocido 1’ en el boletín y se explica con más detalles aquí.
Para resolver este problema, Microsoft recomienda instalar la actualización 3000988.
Otra opción, que es documentado en el mismo boletín en la sección ‘Problema conocido 2’, es excluir los programas afectados mediante la configuración del registro. Sin embargo, esta solución implica más trabajo manual y elimina la función de seguridad de defensa en profundidad para esos programas.
He probado esas opciones y puedo confirmar que ambas funcionan. Espero que este artículo le ahorre algo de tiempo para solucionar un problema similar.