Instalación silenciosa de un paquete MSI


Tengo un paquete MSI que necesito instalar si el paquete no está ya instalado. También necesito instalarlo silenciosamente. El paquete pide al usuario:

  • Ubicación de la instalación (C:\Program Files\Foobar)
  • Tipo de instalación: mínimo y completo (mínimo)

Necesito anular estos dos parámetros usando parámetros de línea de comandos o algún otro método. Entonces, ¿cómo voy sobre estos dos temas. Usaré VBScript para crear scripts.

Author: Salman A, 2011-12-19

2 answers

Debería poder usar las opciones /quiet o /qn con msiexec para realizar una instalación silenciosa.

Los paquetes MSI exportan propiedades públicas, que puede establecer con la sintaxis PROPERTY=value al final de los parámetros msiexec.

Por ejemplo, este comando instala un paquete sin interfaz de usuario y sin reiniciar, con un registro y dos propiedades:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

Puede leer las opciones para msiexec simplemente ejecutándolo sin opciones desde Inicio -> Ejecutar.

 99
Author: Polynomial,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-19 10:58:19

La forma correcta de instalar un MSI silenciosamente es a través del msiexec.exe command line de la siguiente manera:

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log"

Explicación rápida:

 /L*V "C:\Temp\msilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 

Aquí hay una respuesta mucho más completa: Script por lotes para instalar MSI. Esta respuesta proporciona detalles sobre el msiexec.exe command line options y una descripción de cómo encontrar las "propiedades públicas" que puede establecer en la línea de comandos en el momento de la instalación. Estas propiedades son generalmente diferentes para cada MSI.

 3
Author: Stein Åsmul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-17 00:37:06