Este es mi intento de instalar .msi
usando msiexec
PowerShell 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 ARG
mismo 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"
ARG
s:
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
- Cuando se ejecuta en la misma unidad establecida en el parámetro: se instala en esta unidad en una carpeta predeterminada (por ejemplo
¿Existe alguna solución para este comportamiento?
Actualización 1
Lo probé en otro .msi
paquete (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 .msi
que incluya WiX
, era INSTALL_ROOT
. Puede intentar msiexec /lp! <msi_property_logfile> /i <msi_name>
que cualquiera .msi
averigü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:
- Obtenga una lista de propiedades públicas utilizadas en su
.msi
instalador:PS >.\YourAppInstaller.msi /lp! YourAppInstall.log
;- Cancelar la instalación;
- Encuentre propiedades públicas en
.log
el archivo generado en el paso anterior; - Ejecute su
.msi
propiedad 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`"
- Si el valor de su propiedad contiene espacios, envuélvalo en un par de comillas invertidas (
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.