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

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

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

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

10 ответов


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

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


InstallShield 12

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

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

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


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

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


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

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

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

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


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

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

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


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

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

Я проверил журнал.txt, как описано ezzadeen и найдено "INSTALLFOLDER" там.


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

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

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

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


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


Если вы использовали Advanced Installer построить свой .msi вы захотите использовать APPDIR=