Определите имя функции в MSI для установки из командной строки

12

Я пытаюсь установить приложение (SalesLogix 7.2 Admin Tools и Servers) из пакета MSI, но хочу установить только определенную функцию. Как определить имя функции, чтобы попытаться использовать параметр ADDLOCAL?

SLX MSI выбор

Цилиндрический
источник

Ответы:

10

Вы можете запустить установщик в режиме подробного ведения журнала.

msiexec /i product.msi /l*v log.txt

Затем найдите изменения в ADDLOCALсвойстве в журнале. Таким образом, вы сможете определить, какие функции установлены с помощью вышеуказанного выбора в графическом интерфейсе.

В противном случае вы можете использовать Orca в соответствии с предложением jscott и самостоятельно проанализировать пакет. Хотя я думаю, что использование подробного журнала является более простым решением, и вы не пропустите функцию, которая будет добавлена ADDLOCALдля получения работающей установки.

Алексей Иванов
источник
1
Отлично. Работал лакомство ADDLOCAL=Common,Administrator,Architect
Цилиндрический
Рад помочь! ;)
Алексей Иванов
5

Получить копию Microsoftorca.exe - это простой редактор MSI. Есть другие редакторы, которые должны работать так же хорошо для этого. Откройте MSI в Orca и проверьте Featureтаблицу. В этой таблице будут перечислены все доступные наборы функций при условии, что поставщик использовал их при упаковке программы установки.

jscott
источник
2

Самый простой способ - связаться с поставщиком приложения и выяснить, что такое переключатели командной строки. С учетом сказанного, иногда поставщик решает не предоставлять эту информацию. В этом случае мне нравится использовать Process Monitor для наблюдения за процессом установки.

Большинство установщиков работают одинаково. Вы загружаете один файл, и файл извлекает все фактические файлы установки во временный каталог. Поскольку нам нужно увидеть, куда извлекается установщик, используйте монитор процесса, чтобы наблюдать за установщиком сразу после его запуска. Не продолжайте установку и не выходите из нее. Выполнение любого действия приведет к удалению временных файлов. Скопируйте все извлеченные файлы из временного каталога. Вы будете использовать эти файлы для своего пользовательского установщика. После того, как вы нашли конкретный процесс (в Process Monitor), отфильтруйте все остальные процессы. Затем вы можете наблюдать за процессом, продолжая последовательность установки. То, что вы ищете, это команда msiexec, которая вызывает установку запрашиваемой вами функции.

Это может быть длительным методом проб и ошибок, но я добился большого успеха в настройке установок приложений, где поставщики не предоставляют эту информацию ...

newmanth
источник
2
Использование Process Monitor может быть мучительным (особенно, если вы никогда не использовали его раньше). Для начала я рекомендую использовать команду « Включить процесс из окна», чтобы выбрать окно установщика (нажмите и удерживайте значок и перетащите в окно приложения установщика). Это захватит идентификатор процесса установщика. Затем вы можете использовать команду фильтра, чтобы отфильтровать все, кроме этого процесса. Кроме того, я отключаю все, кроме процессов и потоков.
Новый
1

Вы можете обнаружить, что установщик MSI поддерживает опцию административной установки msiexec . Это запустит установщик, но вместо фактической установки пакета, он сгенерирует точку установки программного обеспечения, настроенную с указанными вами параметрами. Затем вы можете впоследствии развернуть MSI-файл, созданный в указанной точке установки, так же, как вы обычно развертываете свое программное обеспечение.msiexec /a <yourpackage.msi>

Это во многом зависит от того, для чего поставщик включил поддержку, поэтому, согласно ответу @ newmanth, вам может потребоваться позвонить поставщику и посмотреть, какие варианты развертывания они поддерживают.

Bryan
источник