Installieren Sie MSI mit MSIEXEC in einem bestimmten Verzeichnis
Frage
Ich möchte einen MSI mit MSIEXEC in einem bestimmten Verzeichnis installieren. Ich benutze:
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb
Es funktioniert nicht mit dem "InstallDir", da die MSI im Standardweg und nicht in meinem spezifischen Pfad installiert wird.
Lösung
Verwenden Sie TargetDir anstelle von installdir. Beachten Sie, dass die Zitatmarkierungen für TargetDir -Eigenschaft nur im Fall von Räumen rund um den Pfad liegen.
msiexec /i "MSI Path" targetDir = "C: myFolder" /qb
Andere Tipps
Installshield 12
INSTALLDIR
Repräsentiert das Hauptproduktinstallationsverzeichnis für eine reguläre Installation von Windows Installer -basierten (oder InstallationScript MSI), wie z. B. das Endbenutzer -Start -Setup.exe oder Ihre .msi -Datenbank.
TARGETDIR
Repräsentiert das Installationsverzeichnis für eine InstallationSkript-Installation oder für eine administrative Windows-Installationsinstallation (wenn der Benutzer mit dem Befehlszeilenschalter /A-Befehlszeilenschalter setup.exe oder msiexec.exe ausgeführt wird).
In einem Installscript -MSI -Projekt die Installscript -Variable MSI_TARGETDIR
Speichert das Ziel einer administrativen Installation.
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q
Nur diese Variante hat gut funktioniert.
Verwenden Sie Installlocation. Wenn Sie Probleme haben, verwenden Sie das /lv -log.txt, um ausführliche Protokolle abzugeben. Die Protokolle würden Ihnen mitteilen, ob es eine Eigenschaftsänderung gibt, die Ihre eigenen Optionen überschreibt. Wenn Sie das Produkt bereits installiert haben, kann ein zweiter Lauf es einfach aktualisieren, ohne den Installationsort zu ändern. Sie müssen zuerst deinstallieren (verwenden Sie die Option /x).
Das sollte funktionieren:
msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
Eigentlich beides INSTALLPATH/TARGETDIR
sind richtig. Es hängt davon ab, wie MSI dies verarbeitet.
Ich erstelle eine MSG mithilfe wixToolSet
. In der WXS -Datei gibt es einen "Verzeichnis" -Knoten, der vielleicht wie folgt wie folgt:
<Directory Id="**TARGETDIR**" Name="SourceDir">;
Wie du sehen kannst: Id
ist das, was Sie verwenden sollten.
In meinem Fall funktionierten alle nicht und schließlich war es das
msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb
Ich habe den von Ezzadeen beschriebenen log.txt überprüft und "InstallFolder" dort beschrieben.
Für mein MSI musste ich defaultPathc = "D: myFolder" festlegen
Dieser hat auch für mich funktioniert
msiexec /i "msi path" INSTALLDIR="D:\myfolder" /q
Ich hatte zwei weitere Iterationen ausprobiert und beide in den Standard -C: -Profilen installiert
InstallDir = "D: myFolder" /q hat es auf dem anderen Laufwerk installiert.
Verwenden Sie ApplicationFolder = "Path" für die neueste MSIEXEC
Wenn Sie verwendet haben Advanced Installer
Um Ihr .msi zu erstellen, möchten Sie verwenden APPDIR=