¿Cómo instalar MSI en un directorio personalizado usando msiexec?

¿Cómo instalar MSI en un directorio personalizado usando msiexec?

Este es mi intento de instalar .msiusando msiexecPowerShell administrativo en Windows 10.

Lo hice 7 veces para cada una de las 2 unidades C:y D:(14 en total) con diferentes argumentos en lugar del ARGmismo valor de ruta deseable.

Plantilla:PS C:\WINDOWS\system32> msiexec /i D:\users\username\downloads\soft\publisher\softwarename\software.msi /passive ARG="D:\Soft\publisher\softwarename"

ARGs:

  • TARGETDIR, INSTALLDIR, INSTALLPATH, INSTALLFOLDER, INSTALLLOCATION, APPLICATIONFOLDER,APPDIR
    • Cuando se ejecuta en la misma unidad establecida en el parámetro: se instala en esta unidad en una carpeta predeterminada (por ejemplo D:\Blender Foundation\Blender\2.81\, )
    • Cuando se ejecuta desde una unidad de red diferente: parece no hacer nada

¿Existe alguna solución para este comportamiento?

Actualización 1

Lo probé en otro .msipaquete (Blender 2.81), porque el anterior se creó incorrectamente. Ninguno de los nombres de argumentos enumerados anteriormente funcionó. Cada instalación, incluso desde una D:unidad, se realizó en la carpeta predeterminada en C:.

Actualización 2

Para Blender 2.81, como supongo, para cualquiera .msique incluya WiX, era INSTALL_ROOT. Puede intentar msiexec /lp! <msi_property_logfile> /i <msi_name>que cualquiera .msiaverigüe el nombre del argumento de la ruta de instalación. Gracias aYenPorYangy su respuestaaquí.

Respuesta1

Para que esto funcione correctamente es necesario realizar estos pasos:

  1. Obtenga una lista de propiedades públicas utilizadas en su .msiinstalador:
    • PS >.\YourAppInstaller.msi /lp! YourAppInstall.log;
    • Cancelar la instalación;
  2. Encuentre propiedades públicas en .logel archivo generado en el paso anterior;
  3. Ejecute su .msipropiedad pública desde la línea de comando:
    • Si el valor de su propiedad contiene espacios, envuélvalo en un par de comillas invertidas ( `")
    • Ejemplo:PS >.\YourAppInstaller.msi YOUR_PROP=`"value with spaces`"

En el caso de una instalación silenciosa de Blender, para especificar una ruta de instalación, debe llamar al instalador de la siguiente manera (como ejemplo):

.\blender-3.4.1-windows-x64.msi INSTALL_ROOT=`"C:\Program Files\Blender Foundation\Blender\`"

De esta manera entenderá dónde desea que se instale.

información relacionada