Войти

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


scorpio1379
26-01-2010, 12:11
Добрый день.
У меня возникла проблема при модификации одного пакета MSI
задача - сделать Silent установку из пакета, который не сконфигурирован для этих целей.
Я нашел свойства (Property) обьектов GUI которые изменяются при выборе компонентов установки, перевел их в верхний регистр
и запускаю msiку с указанием значений этих свойств. НО проблема в том что ввод значений этих свойств с командной строки не приводит к обработки этого изменения и дальнейшого выполнения логики инсталлера.
Выглядет это так: есть форма, на ней связанные элементы управления ( checkbox-ы), если отметить галку верхнего уровня - отметиться все активные (Enable) checkboxы нижнего ур-ня, в данном случае у меня активный checkbox нижнего уровня только один потому верно и обратное (отмечаешь нижний - отмечается и верхний ) и появляется надпись об устанавливаемом приложении.
когда я ввожу параметры в строчке с запуском msi то checkboxы отмечены (но зависимые от него checkboxы неменяют своего состояния и их состояние не зависит от состояния основного обьекта управления ) но надпись не появляется. если делать все мышкой то все работает.
подскажите где я неправ.
если кому понадобится - оригинал MSI во вложении

Pozia
26-01-2010, 17:59
scorpio1379, админ точку пробовали делать?

scorpio1379
27-01-2010, 11:02
пробовал, фигня получается.
переписывает сам vsiник и 3 скрипта vbs и все, инсталлить от туда ничего не возможно ((
еще один вопрос вдогонку
по результатам переклчения checkboxов для инсталляции компонентов скриптами запускаются другие msiники, уже в сайлент режиме. скрипты я вижу и могу воспроизвести. тут возникает проблема, а не пропущу ли я какие нибудь записи в реестр если просто выполню эти скрипты. может ли основной установщик добовлять какие то ключи в реестр до запуска целевого msi? предполагаю что может. но как тогда отследить где эти изменения могут произходить.

boss911
27-01-2010, 19:54
НО проблема в том что ввод значений этих свойств с командной строки не приводит к обработки этого изменения и дальнейшого выполнения логики инсталлера. »
Недавно сталкивался с таким MSI пакетом, что я не делал, но это падло не реагировало на запуск с ключами ком. строки, где были указаны свойства из таблицы 'Property'. На других пакетах подобные вещи прокатывают. Пришлось править пакет, но можно было и обойтись созданием файла ответов MST, но первый вариант для меня был лучше.

но как тогда отследить где эти изменения могут произходить. »
Воспользуйтесь RegShot, он поможет отследить реестр и папки/файлы.

scorpio1379
28-01-2010, 10:15
Пришлось править пакет, но можно было и обойтись созданием файла ответов MST, но первый вариант для меня был лучше. »

а как создать файл ответов?
для старых setup.exe просто есть ключик но у меня
setup.exe новый , вызывает эту msiку в которой записана только логика (когда и куда инсалить, когда разинсталить а когда просто апгрейдить) которая в свою очередь вызывает непосредственно msiки с компонентами.

Недавно сталкивался с таким MSI пакетом, что я не делал, но это падло не реагировало на запуск с ключами ком. строки, где были указаны свойства из таблицы 'Property »

параметры то передаються и оьекты управления меняют свои статусы, но это не влияет на логику форм установщика, это то и странно. вот у меня и вопрос как поправиьт msiку что бы работал ключ /qr

MKN
28-01-2010, 11:38
scorpio1379,
Отличная программа для создания Silent MSI - EMCO MSI Package Builder (http://www.emco.is/products/msi-package-builder/features.php)




© OSzone.net 2001-2012