Войти

Показать полную графическую версию : Модификация инсталляционного пакета MSI файлом MST


davinci
22-07-2012, 17:27
Всем привет!
Есть приложение в виде msi пакета, которое надо развернуть в сети средствами групповых политик. По умолчанию установщик создает ярлыки приложения в пуске не там где нужно и в процессе установки из файла инсталлятора в папку с приложением копируется файл настроек в виде ini файла. Возможно ли с помощью orca.exe из состава Windows Installer SDK сделать файл модификаций, который будет формировать ярлык приложения там где надо и подцеплять внешний файл настроек?
Т.е. конкретно надо сделать следующее, в файле модификаторе задать:
1. создание ярлыка приложения в корне главного меню всех пользователей;
2. задать замену файла settings.ini, который внутри msi-файла, внешним файлом settings.ini, который содержит предварительно заданные параметры; Необходимо именно чтобы файл был внешним, а не внедрять его в msi-пакет, т.к. он периодически заменяется (обновляется) и каждый раз переупаковывать msi-пакет не лучший вариант...
Подскажите, реально это сделать средствами ORCA?

Vadikan
25-07-2012, 12:25
davinci, да, ORCA позволяет создавать MST, но не зная названия приложения и не видя пакета, ответить на ваш вопрос невозможно. Так что вам придется ковырять самостоятельно.

Dodj16
29-07-2012, 19:10
Добрый день.
Да davinci, все возможно:
1. В таблице Shortcut отредактируете поле Directory для нужного ярлыка. В вашем случае нужно использовать ProgramMenuFolder.
2. Проверить наличие записей относящихся к settings.ini в таблицах IniFille и File.
В случае, если ini разноситься через таблицу IniFille, то вам проще будет редактировать параметры ini файла непосредственно в msi файле - потребуется меньше телодвижений с вашей стороны. Если же в таблице IniFile отсутствуют записи, касающиеся settings.ini, или же таблица вообще отсутствует, тогда находите в таблице File ваш ini файл и отмечаете его, как Noncompressed в поле Attributes. Сохраняете ваш mst и ложите актуальную версию settings.ini рядом с msi-кой.

davinci
30-07-2012, 10:23
Dodj16, спасибо за развернутый ответ! С ярлыком именно так и поступил, а вот с ini надо попробовать...

m0nkrus
08-04-2021, 14:21
Господа, задача следующая: хочу запаковать разрозненные файлы MSI-установщика модуля программы в CAB, но есть проблема - MSI-файл должен остаться неизменным, так как глобальный установщик проверяет его сигнатуру. Решил пойти через добавление MST-файла, где в таблице MEDIA встроил отсыл на мой CAB (сделал в Orca). Как итог, сложил CAB-файл из корректно переработанного инсталлера (сделал при помощи WiMakCab.vbs), оригинальный MSI-файл, заточенный под файлы россыпью, и MST-файл, добавляющий в таблицу MEDIA отсыл на мой CAB. Запускаю: согласно логам, MST считывается, но вот конкретно таблица MEDIA игнорируется, хотя куча прочих таблиц инсталлером просматриваются. Что-то можно сделать в моей ситуации, чтобы таблица MEDIA из MST тоже обрабатывалась?




© OSzone.net 2001-2012