Установите MSI с MSIEXEC в конкретном каталоге
Вопрос
Я хочу установить MSI с MSIEXEC в определенном каталоге. Я использую:
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /qb
Он не работает с «InstallDir», потому что MSI устанавливается в пути по умолчанию, а не в моем конкретном пути.
Решение
Используйте TargetDir вместо InstallDir. Обратите внимание, что оценки цитаты для свойства TargetDir находятся только вокруг пути в случае пространств.
msiexec /i "msi path" targetdir = "c: myfolder" /qb
Другие советы
InstallShield 12
INSTALLDIR
Представляет основной каталог установки продукта для обычной установки Windows Installer (или InstallScript MSI), такой как запуск конечного пользователя Setup.exe или ваша база данных .msi.
TARGETDIR
Представляет каталог установки для установки InstallScript или для установки административной установки Windows (когда пользователь запускает setup.exe или msiexec.exe с коммутатором командной строки /A).
В проекте InstallScript MSI переменная установки MSI_TARGETDIR
хранит цель административной установки.
msiexec /i "msi path" INSTALLDIR="C:\myfolder" /q
Только этот вариант работал хорошо.
Используйте установку. Когда у вас возникнут проблемы, используйте /lv log.txt, чтобы сбрасывать журналы словеса. Журналы скажут вам, есть ли изменение свойства, которое будет переоценить ваши собственные варианты. Если вы уже установили продукт, то второй запуск может просто обновить его без изменения местоположения установки. Вам придется сначала удалить (используйте опцию /x).
Это должно работать:
msiexec /i "msi path" TARGETDIR="C:\myfolder" /qb
На самом деле оба INSTALLPATH/TARGETDIR
верны. Это зависит от того, как MSI обрабатывает это.
Я создаю MSG, используя wixToolSet
. Анкет В файле WXS есть узел «каталог», который, может быть, Root Dir, может быть, нравится следующее:
<Directory Id="**TARGETDIR**" Name="SourceDir">;
Как вы видете: Id
это то, что вы должны использовать.
В моем случае все они не работали, и, наконец, это было
msiexec /i "msinamebla.msi" INSTALLFOLDER="C:\test\" /qb
Я проверил log.txt, как описано Ezzadeen, и нашел там «installforder».
Для моего MSI мне пришлось установить defaultPathc = "D: myFolder", потому что позже в процессе установки и InstallDir, и TargetDir были сброшены, чтобы отразить значение в DefaultPathc
Этот тоже работал для меня
msiexec /i "msi path" INSTALLDIR="D:\myfolder" /q
Я пробовал две другие итерации и оба установлены в файлах программы по умолчанию C:
InstallDir = "D: myFolder" /Q установил его на другом диске.
Используйте ApplicationFolder = "path" для последнего MSIexec
Если вы использовали Advanced Installer
Чтобы построить свой .msi, вы захотите использовать APPDIR=