Установите msi с msiexec в конкретном каталоге

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

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

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

Ответ 1

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

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

Ответ 2

InstallShield 12

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

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

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

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

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

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

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

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

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

Ответ 9

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

Ответ 10

Если вы использовали Advanced Installer для сборки .msi, вы можете использовать APPDIR=

Ответ 11

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