Zainstaluj msi za pomocą msiexec w określonym katalogu

Chcę zainstalować msi z msiexec w określonym katalogu. Używam:

msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb

Nie działa z "INSTALLDIR", ponieważ msi instaluje się w domyślnej ścieżce, a nie w mojej konkretnej ścieżce.

Author: Nathan, 2012-01-12

10 answers

Użyj TARGETDIR zamiast INSTALLDIR. Zauważ, że znaki cudzysłowu dla właściwości TARGETDIR są tylko wokół ścieżki w przypadku spacji.

Msiexec /i" MSI path"TARGETDIR=" C:\myfolder " / qb

 39
Author: Ciprian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-23 18:14:55

InstallShield 12

INSTALLDIR reprezentuje główny katalog instalacji produktu dla zwykłej instalacji opartej na Instalatorze Windows( lub InstallScript MSI), takiej jak konfiguracja uruchamiania użytkownika końcowego.exe czy twój .baza danych msi.

TARGETDIR reprezentuje katalog instalacji dla instalacji InstallScript lub dla instalacji administracyjnej Windows Installer based (gdy użytkownik uruchamia Setup.exe lub MsiExec.exe z przełącznikiem linii poleceń /a).

W InstallScript MSI projekt, zmienna InstallScript MSI_TARGETDIR przechowuje cel instalacji administracyjnej.

 13
Author: David Schwartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-24 00:11:50
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q
Tylko ten wariant działał dobrze.
 6
Author: Moscow Boy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-07 12:15:10

Właściwie, oba INSTALLPATH/TARGETDIR są poprawne. To zależy od tego, jak MSI to przetwarza.

Tworzę MSG używając wixToolSet. W pliku WXS znajduje się węzeł "Directory", którego katalog root może wyglądać następująco:

<Directory Id="**TARGETDIR**" Name="SourceDir">;

Jak widzisz: Id jest tym, którego powinieneś użyć.

 3
Author: xiaoym,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-22 02:38:59

To powinno zadziałać:

msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
 2
Author: Shibiraj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-19 07:44:57

Dla mojego msi musiałem ustawić DEFAULTPATHC="D:\myfolder" ponieważ później w procesie instalacji, zarówno INSTALLDIR, jak i TARGETDIR zostały zresetowane, aby odzwierciedlić wartość w DEFAULTPATHC

 1
Author: p4ndepravity,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-10 21:51:41

W moim przypadku wszystkie nie działały i w końcu było

msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb
Sprawdziłem dziennik.txt jak opisał ezzadeen i znalazł tam "INSTALLFOLDER".
 1
Author: Colibri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-14 12:17:56

Ten też zadziałał dla mnie

msiexec /i "msi path" INSTALLDIR="D:\myfolder" /q

Próbowałem dwóch innych iteracji i obie zainstalowane w domyślnej C:\Program Pliki

INSTALLDIR="D:\myfolder" / q zainstalował go na drugim dysku.

 1
Author: ttoomm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-07 12:15:51

Użyj INSTALLLOCATION. W razie problemów użyj logu / lv.txt do zrzutu obszernych dzienników. Dzienniki powiedzą ci, czy nastąpiła zmiana właściwości, która nadpisze Twoje własne opcje. Jeśli produkt został już zainstalowany, drugie uruchomienie może po prostu zaktualizować go bez zmiany lokalizacji instalacji. Musisz najpierw odinstalować (użyj opcji / x).

 0
Author: ezzadeen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-09 19:11:17

Jeśli użyłeś Advanced Installer do zbudowania swojego .msi będziesz chciał używać APPDIR=

 0
Author: lcg1ant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-02 00:17:01