Wie installiere ich MSI mit msiexec in einem benutzerdefinierten Verzeichnis?

Wie installiere ich MSI mit msiexec in einem benutzerdefinierten Verzeichnis?

Hier ist mein Installationsversuch .msimithilfe msiexecder Administrativen PowerShell unter Windows 10.

Ich habe es 7 Mal für jedes der 2 Laufwerke gemacht C:und D:(insgesamt 14 Mal) mit unterschiedlichen Argumenten anstelle ARGund demselben gewünschten Pfadwert.

Vorlage: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
    • Bei Ausführung auf demselben Laufwerk wie im Parameter festgelegt: wird auf diesem Laufwerk in einem Standardordner installiert (z. B. D:\Blender Foundation\Blender\2.81\)
    • Beim Ausführen von einem anderen Laufwerk: scheint nichts zu passieren

Gibt es eine Problemumgehung für dieses Verhalten?

Aktualisierung 1

Habe es mit einem anderen .msiPaket (Blender 2.81) getestet, da das vorherige falsch erstellt wurde. Keiner der oben aufgeführten Argumentnamen hat funktioniert. Jede Installation, sogar von einem D:Laufwerk, erfolgte im Standardordner C:.

Aktualisierung 2

Für Blender 2.81, wie ich annehme, für alle .msimit gepackten WiX, war es INSTALL_ROOT. Sie könnten msiexec /lp! <msi_property_logfile> /i <msi_name>für alle versuchen .msi, den Namen des Installationspfadarguments herauszufinden. Dank anYenForYangund seine AntwortHier.

Antwort1

Damit dies ordnungsgemäß funktioniert, müssen Sie die folgenden Schritte ausführen:

  1. .msiHolen Sie sich eine Liste der in Ihrem Installationsprogramm verwendeten öffentlichen Eigenschaften :
    • PS >.\YourAppInstaller.msi /lp! YourAppInstall.log;
    • Installation abbrechen;
  2. .logSuchen Sie in der im vorherigen Schritt generierten Datei nach öffentlichen Eigenschaften .
  3. Führen Sie es .msimit öffentlicher Eigenschaft von der Befehlszeile aus:
    • Wenn Ihr Eigenschaftswert Leerzeichen enthält, schließen Sie ihn in ein Backtick+Anführungszeichen-Paar ( `") ein.
    • Beispiel:PS >.\YourAppInstaller.msi YOUR_PROP=`"value with spaces`"

Um bei einer stillen Installation von Blender einen Installationspfad anzugeben, müssen Sie das Installationsprogramm wie folgt aufrufen (als Beispiel):

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

Auf diese Weise versteht es, wo Sie es installieren möchten.

verwandte Informationen