Windows Installer produce un error de forma silenciosa después de actualizarse a Windows Installer 3.1


Síntomas


Al instalar un paquete Microsoft Windows Installer (.msi), el proceso de instalación producirá un error de forma silenciosa si el instalador intenta instalar una versión posterior de un archivo de sistema protegido por la función Protección de archivos de Windows (WFP). Al examinar el archivo de registro de Windows Installer o el de la aplicación, podrá ver Windows Installer Error 1931.

Causa


Antes de la publicación de Microsoft Windows Installer versión 3.1, los paquetes que intentaban instalar una versión posterior de un archivo protegido por WFP durante un proceso de instalación silenciosa no podían instalar el archivo. Sin embargo, el proceso de instalación continuaba y se informaba de que la instalación se había realizado correctamente. Con la publicación de Windows Installer 3.1, la conducta ha cambiado. En la versión 3.1, el proceso de instalación silenciosa no finaliza con éxito y, a continuación, la instalación se deshace si el proceso de instalación silenciosa no puede instalar el archivo protegido por WFP. WFP evita que las aplicaciones sobrescriban los archivos de sistema. Windows Installer no puede sobrescribir los archivos protegidos por WFP.

Solución


Para resolver este problema, utilice el método 1 si es el usuario final del paquete de instalación. Use el método 2 si está creando el paquete de Windows Installer.
  • Método 1
    Si es el usuario final de un paquete de instalación para instalar software en un equipo, obtenga Windows Installer 3.1 (v2) redistribuible.

    Windows Installer 3.1 (v2) redistribuible es una actualización de Windows Installer 3.1. Esta actualización trata el problema descrito en la sección "Síntomas".

    Para obtener más información acerca de Windows Installer 3.1 (v2), haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    893803 Windows Installer 3.1 (v2) está disponible

    Para determinar qué versión de Windows Installer se encuentra instalada actualmente en el equipo, siga los pasos que se indican a continuación:
    1. En el Explorador de Windows, busque el archivo siguiente:
      Msi.dll
      Este archivo está situado en la carpeta Windows\System 32.
    2. Haga clic con el botón secundario del mouse sobre Msi.dll y, a continuación, haga clic en Propiedades.
    3. Haga clic en la ficha Versión. Anote el número de versión del archivo.
      • Si el número de versión es 3.1.4000.1823, el equipo tiene instalado Windows Installer 3.1 (v1).
      • Si el número de versión es 3.1.4000.2435, el equipo tiene instalado Windows Installer 3.1 (v2).
  • Método 2
    Si está creando un paquete de Windows Installer para instalar una aplicación que ha creado, es recomendable que defina la condición en la base de datos de Windows Installer que cree para que el proyecto de instalación evite que los componentes protegidos por WFP se instalen en sistemas operativos que tengan WFP. Éste es el método de solución preferido. Un proceso de instalación basado en Windows Installer no debería intentar actualizar archivos protegidos por WFP.

    Para definir una condición, agréguela a la columna Condición de la tabla Componente en la base de datos de Windows Installer. Para obtener más información, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):

Estado


Microsoft ha confirmado que se trata de un problema de Microsoft Windows Installer 3.1.

Más información


Para obtener más información acerca de WFP, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

222193 Descripción de la característica Protección de archivos de Windows