Como instalar o MSI no diretório personalizado usando msiexec?

Como instalar o MSI no diretório personalizado usando msiexec?

Aqui está minha tentativa de instalação .msiusando msiexeco PowerShell Administrativo no Windows 10.

Fiz isso 7 vezes para cada uma das 2 unidades C:e D:(14 no total) com argumentos diferentes no lugar ARGe o mesmo valor de caminho desejável.

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

ARGé:

  • TARGETDIR, INSTALLDIR, INSTALLPATH, INSTALLFOLDER, INSTALLLOCATION, APPLICATIONFOLDER,APPDIR
    • Ao executar na mesma unidade definida no parâmetro: instala nesta unidade em uma pasta padrão (por exemplo, D:\Blender Foundation\Blender\2.81\)
    • Ao executar a partir de uma unidade diferente: parece não fazer nada

Existe uma solução alternativa para esse comportamento?

Atualização 1

Testei em outro .msipacote (Blender 2.81), pois o anterior foi compilado incorretamente. Nenhum dos nomes de argumentos listados acima funcionou. Cada instalação, mesmo a partir de uma D:unidade, estava na pasta padrão em C:.

Atualização 2

Para o Blender 2.81, como, suponho, para qualquer .msipacote com WiX, era INSTALL_ROOT. Você pode tentar msiexec /lp! <msi_property_logfile> /i <msi_name>descobrir .msio nome do argumento do caminho de instalação. Graças aIene por Yange sua respostaaqui.

Responder1

Para que isso funcione corretamente, você precisa executar estas etapas:

  1. Obtenha uma lista de propriedades públicas usadas em seu .msiinstalador:
    • PS >.\YourAppInstaller.msi /lp! YourAppInstall.log;
    • Cancelar instalação;
  2. Encontre propriedades públicas no .logarquivo gerado na etapa anterior;
  3. Execute seu .msicom propriedade pública na linha de comando:
    • Se o valor da sua propriedade contiver espaços, coloque-o no par crase + aspas ( `")
    • Exemplo:PS >.\YourAppInstaller.msi YOUR_PROP=`"value with spaces`"

No caso de instalação silenciosa do Blender, para especificar um caminho de instalação, você precisa chamar o instalador como segue (como exemplo):

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

Assim ele entenderá onde deseja que seja instalado.

informação relacionada