2011-12-19 28 views
59

Tengo un paquete MSI que necesito instalar si el paquete no está ya instalado. También necesito instalarlo en silencio. El paquete le pide al usuario para:Instalación silenciosa de un paquete MSI

  • ubicación de instalación (C: \ Archivos de programa \ Foobar)
  • Instalar Tipo: mínima y máxima (mínima)

Necesito anular estos dos parámetros utilizando comandos parámetros de línea o algún otro método. Entonces, ¿cómo abordar estos dos problemas? Usaré VBScript para scripting.

Respuesta

91

Debe 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 el sistema, con un tronco y dos propiedades:

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

Usted puede leer las opciones para msiexec con sólo ejecutarlo sin opciones de inicio - > Ejecutar.

+1

¿Hay alguna manera de encontrar una lista de parámetros aceptables ('PROPERTY1' y' PROPERTY2' en su ejemplo)? –

+0

Aquí está la lista de propiedades predefinidas: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370905(v=VS.85).aspx La propiedad de la carpeta de instalación es diferente para cada configuración de autoría herramienta. ¿Qué usaste para crear el MSI? –

+0

@ Cosmin: MSI consiste en DLL de tiempo de ejecución de un sistema de pago (no creado por mí). Estoy mirando una herramienta llamada Ocra para diseccionar el MSI, me dio una pista sobre una variable llamada "INSTALLLOCATION". Estoy revisando. –

1

La forma más adecuada para instalar un MSI silencio es a través de la 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 

Hay una respuesta mucho más amplia aquí: Batch script to install MSI. Esta respuesta proporciona detalles sobre las opciones de línea de comando msiexec.exe y una descripción de cómo encontrar las "propiedades públicas" que puede establecer en la línea de comando en el momento de la instalación. Estas propiedades son generalmente diferentes para cada MSI.

Cuestiones relacionadas