Установите MSI с msiexec в определенном каталоге - PullRequest
37 голосов
/ 12 января 2012

Я хочу установить msi с msiexec в определенную директорию. Я использую:

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

Он не работает с "INSTALLDIR", потому что msi устанавливается по умолчанию, а не по моему конкретному пути.

Ответы [ 11 ]

41 голосов
/ 13 января 2012

Используйте TARGETDIR вместо INSTALLDIR.Обратите внимание, что кавычки для свойства TARGETDIR указываются только вокруг пути в случае пробелов.

msiexec / i "путь msi" TARGETDIR = "C: \ myfolder" / qb

14 голосов
/ 24 октября 2013

InstallShield 12

INSTALLDIR представляет основной каталог установки продукта для обычной установки на основе установщика Windows (или InstallScript MSI), такой как конечный пользователь, запускающий Setup.exe или базу данных .msi.

TARGETDIR представляет каталог установки для установки InstallScript или для административной установки на основе установщика Windows (когда пользователь запускает Setup.exe или MsiExec.exe с параметром командной строки / a).

В проекте InstallScript MSI переменная InstallScript MSI_TARGETDIR хранит цель административной установки.

6 голосов
/ 28 марта 2013
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q

Только этот вариант работал хорошо.

3 голосов
/ 14 декабря 2017

В моем случае все они не работали, и, наконец, это было

msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb

Я проверил log.txt, как описано ezzadeen, и нашел там "INSTALLFOLDER".

3 голосов
/ 09 августа 2017

Используйте INSTALLLOCATION. Если у вас есть проблемы, используйте / lv log.txt для вывода подробных журналов. Журналы скажут вам, если есть изменение свойства, которое переопределит ваши собственные параметры. Если вы уже установили продукт, то второй запуск может просто обновить его без изменения места установки. Сначала вам нужно будет удалить (используйте параметр / x).

3 голосов
/ 22 января 2016

На самом деле оба INSTALLPATH/TARGETDIR верны.Это зависит от того, как MSI обрабатывает это.

Я создаю MSG, используя wixToolSet.В файле WXS есть узел «Каталог», корневой каталог которого может выглядеть следующим образом:

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

Как вы можете видеть: Id - это то, что вы должны использовать.

3 голосов
/ 14 мая 2014

Это должно работать:

msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
1 голос
/ 19 марта 2019

Используйте APPLICATIONFOLDER = "путь" для последней версии msiexec

1 голос
/ 11 октября 2017

для моего msi, мне пришлось установить DEFAULTPATHC = "D: \ myfolder", потому что позже в процессе установки оба INSTALLDIR и TARGETDIR были сброшены для отражения значения в DEFAULTPATHC

1 голос
/ 13 февраля 2016

Это тоже сработало для меня

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

Я попробовал две другие итерации и обе установил в C: \ Program Files по умолчанию

INSTALLDIR = "D: \ myfolder" /q установил его на другой диск.

...