Вопрос

Я хочу установить 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=

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top