Instalación silenciosa de un paquete MSI

84

Tengo un paquete MSI que necesito instalar si el paquete aún no está instalado. También necesito instalarlo en silencio. El paquete solicita al usuario:

  • Ubicación de instalación (C: \ Archivos de programa \ Foobar)
  • Tipo de instalación: mínima y completa (mínima)

Necesito anular estos dos parámetros usando parámetros de línea de comando o algún otro método. Entonces, ¿cómo hago con estos dos temas? Usaré VBScript para la creación de scripts.

Salman A
fuente

Respuestas:

129

Debería poder utilizar las opciones /quieto /qncon msiexecpara realizar una instalación silenciosa.

Los paquetes MSI exportan propiedades públicas, que puede establecer con la PROPERTY=valuesintaxis al final de los msiexecparámetros.

Por ejemplo, este comando instala un paquete sin interfaz de usuario y sin reinicio, 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 msiexecsimplemente ejecutándolo sin opciones desde Inicio -> Ejecutar.

Polinomio
fuente
6
¿Hay alguna forma de encontrar una lista de parámetros aceptables ( PROPERTY1y PROPERTY2en su ejemplo)?
Salman A
Aquí está la lista de propiedades predefinidas: msdn.microsoft.com/en-us/library/windows/desktop/… La propiedad de la carpeta de instalación es diferente para cada herramienta de creación de configuración. ¿Qué usaste para crear el MSI?
cosmin
@Cosmin: MSI consta de DLL en tiempo de ejecución de un sistema de pago (no creado por mí). Estoy viendo una herramienta llamada Ocra para diseccionar el MSI, me dio una pista sobre una variable llamada "INSTALLLOCATION". Estoy revisando.
Salman A
7
Nota: msiexec parecía ser bastante exigente a la hora de especificar la ruta COMPLETA del archivo al paquete MSI. No intente nada de este .\mypackage.msinegocio. Me tomó un poco darme cuenta de eso.
Phil
4
El nombre del producto de MS es en realidad Orca, no ocra. Puede ser difícil buscar en Google con errores ortográficos. Es posible que obtenga muchas recetas criollas ... pero no constructores de MSI. msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
Scott Lundberg
12

La forma correcta de instalar un MSI de forma silenciosa es a través de la msiexec.exe command linesiguiente 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: Secuencia de comandos por lotes para instalar MSI . Esta respuesta proporciona detalles sobre las opciones de la línea de comandos msiexec.exe 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.

Stein Åsmul
fuente