una requiere que programa problemas problema parte para paquete instalar hay funciona este error ejecuta con como installer wix windows-installer corruption

requiere - Problemas con el paquete de Windows Installer



windows installer no funciona (6)

Tengo un cliente que está teniendo problemas con nuestro instalador .msi para nuestra aplicación. WiX se usó para crear este instalador. La aplicación se ha instalado bien en docenas de otras máquinas, pero en su máquina muestra el mensaje:

Este paquete de instalación no se pudo abrir. Póngase en contacto con el proveedor de la aplicación para verificar que este sea un Paquete de Windows Installer válido.

Creo que es una de estas dos posibilidades:

  1. La versión de Windows Installer en la máquina del cliente está desactualizada.
  2. El .msi que tiene podría estar dañado.

¿Cuál es la posibilidad más probable, o hay otras posibilidades que no conozco?

Creo que recreé el problema del usuario. Si, desde un shell de comandos, ejecuto MyFile.msi , entonces se carga con éxito, luego lo obtengo en el archivo de registro:

=== Verbose logging started: 2/12/2009 10:34:38 Build type: SHIP UNICODE 4.00.6001.00 Calling process: C:/Windows/System32/msiexec.exe === MSI (c) (F4:04) [10:34:38:795]: Resetting cached policy values MSI (c) (F4:04) [10:34:38:795]: Machine policy value ''Debug'' is 0 MSI (c) (F4:04) [10:34:38:795]: ******* RunEngine: ******* Product: C:/Users/kelley/Downloads/PixelActiveCityScape_v1_6_Demo.msi ******* Action: ******* CommandLine: ********** MSI (c) (F4:04) [10:34:38:802]: Machine policy value ''DisableUserInstalls'' is 0 MSI (c) (F4:04) [10:34:38:830]: Note: 1: 1402 2: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer 3: 2 MSI (c) (F4:04) [10:34:39:140]: SOFTWARE RESTRICTION POLICY: Verifying package --> ''C:/Users/kelley/Downloads/PixelActiveCityScape_v1_6_Demo.msi'' against software restriction policy MSI (c) (F4:04) [10:34:39:141]: Note: 1: 2262 2: DigitalSignature 3: -2147287038 MSI (c) (F4:04) [10:34:39:141]: SOFTWARE RESTRICTION POLICY: C:/Users/kelley/Downloads/PixelActiveCityScape_v1_6_Demo.msi is not digitally signed MSI (c) (F4:04) [10:34:39:142]: SOFTWARE RESTRICTION POLICY: C:/Users/kelley/Downloads/PixelActiveCityScape_v1_6_Demo.msi is permitted to run at the ''unrestricted'' authorization level. MSI (c) (F4:04) [10:34:39:189]: Cloaking enabled. MSI (c) (F4:04) [10:34:39:190]: Attempting to enable all disabled privileges before calling Install on Server MSI (c) (F4:04) [10:34:39:197]: End dialog not enabled MSI (c) (F4:04) [10:34:39:197]: Original package ==> C:/Users/kelley/Downloads/PixelActiveCityScape_v1_6_Demo.msi MSI (c) (F4:04) [10:34:39:197]: Package we''re running from ==> C:/Users/kelley/AppData/Local/Temp/40a3581.msi . . .

Sin embargo, si ejecuto msiexec / i MyFile.msi / l * v MyLog.TXT , obtengo esto:

=== Verbose logging started: 2/12/2009 10:32:19 Build type: SHIP UNICODE 4.00.6001.00 Calling process: C:/Windows/sy stem32/msiexec.exe === MSI (c) (FC:F0) [10:32:19:597]: Resetting cached policy values MSI (c) (FC:F0) [10:32:19:597]: Machine policy value ''Debug'' is 0 MSI (c) (FC:F0) [10:32:19:597]: ******* RunEngine: ******* Product: ./PixelActiveCityScape_v1_6_Demo.msi ******* Action: ******* CommandLine: ********** MSI (c) (FC:F0) [10:32:19:599]: Note: 1: 2203 2: ./PixelActiveCityScape_v1_6_Demo.msi 3: -2147287038 MSI (c) (FC:F0) [10:32:19:600]: MainEngineThread is returning 2 === Verbose logging stopped: 2/12/2009 10:32:19 ===

Y esto muestra este cuadro de diálogo:

Este paquete de instalación no se pudo abrir. Verifique que el paquete existe y que puede acceder a él, o póngase en contacto con el proveedor de la aplicación para verificar que este sea un paquete válido de Windows Installer.

Parece un problema de permisos, pero no estoy seguro de por qué y cómo puedo solucionarlo. ¿Tengo que firmar digitalmente el archivo .msi?


Podría tratar de iniciar el MSI en la línea de comando y obtener un archivo de registro.

como ese: MSI: msiexec / i (Filename.MSI) / l * v (filename.TXT)


Fondo:

He notado exactamente el mismo mensaje cuando un archivo instalador MSI no se descargó por completo, o fue dañado por mi programa antivirus, o mi cliente FTP lo mutiló.

El mensaje de error proviene en realidad de msiexec.exe , que es el programa ejecutable del sistema de Windows Installer que realmente interpreta los archivos del instalador MSI e instala el software en el objetivo de la (s) máquina (s) del cliente.

Para verificar la integridad del archivo MSI:

Calcule el MD5sum de una copia conocida de su archivo instalador MSI usando algo como md5.exe . Haga que el cliente haga lo mismo por su copia, y luego compare los hashes. Si los resultados son diferentes, entonces la copia del archivo instalador MSI del cliente está positivamente corrupta.

Por ejemplo :

Por tu parte:

C:/Documents and Settings/yourbox/Desktop>md5.exe AcroRead.msi C587C739666E26B2A9B1F5BBAF358808 AcroRead.msi

En el extremo del cliente:

C:/Documents and Settings/theclient/Desktop>md5.exe AcroRead.msi 90AFFBD9A1954EC9FF029B7AD7183A16 AcroRead.msi


Me encontré con este problema ("MainEngineThread está retornando 2") también. Este hilo fue útil para reducir el problema, pero no lo he resuelto del todo.

En nuestro caso, sospechamos que el problema está relacionado con BitLocker y / o llamando a msiexec con rutas relativas (como "msiexec / i .. / foo.msi"). Ejecutando ".. / foo.msi" funciona directamente, ejecutar "msiexec / i foo.msi" en la carpeta correcta también funciona.

Quizás estas pistas ayudarán a alguien más. En nuestro caso, cambiaremos la estructura del directorio para evitar el "..".


Este mensaje de error es lanzado por msiexec si detecta que el archivo MSI está dañado. Puede hacerlo porque todos los archivos MSI tienen una suma de comprobación, y algunos incluso están firmados digitalmente.

Dicha corrupción de archivos MSI lamentablemente sucede mucho. No solo por las conexiones de red inestables durante la descarga, sino también por los escáneres de virus que interfieren con la descarga en sí; si intentan "desinfectar" la secuencia de datos, terminará con una MSI corrupta.

La única forma de solucionar esto es volver a descargar el archivo MSI y tal vez inhabilitar el antivirus / firewall para esa descarga. Puede verificar si hay virus después de que el archivo MSI se haya guardado en el disco antes de intentar instalarlo.


Si alguien está desarrollando un nuevo instalador y se encuentra con este mismo error, verifique su tipo de salida del proyecto Bootstrapper. Agregué un nuevo proyecto de Bootstrapper y copié en un montón de código conocido. El tipo de salida del proyecto se establece por defecto en MSI, y cuando intento probarlo, recibí un "MainEngineThread is returning 2" idéntico y la misma línea anterior.

Establezca el tipo de salida en su EXE apropiado y funciona de maravilla.


Solución: 1) ejecute el cmd como administrador, 2) F: / SOFTWARE> msiexec / i node-v4.5.0-x64.msi