Здравствуйте, Sinclair, Вы писали:
V>>MSI создавался для установки продуктов офиса.
S>О, у вас появилась новая идея, как оправдать идиотскую точку зрения "windows installer архитектурно оправдан".
S>Вообще-то — нет. WI позиционировался как штатный инструмент для установки чего угодно.
S>Да, многие сценарии в нём были навязаны офисной командой.
Для особо упоротых — этот продукт под офис и разрабатывался. А потом стал позиционироваться "для всего".
Вот тут совсем поржал:
S>Вы посмотрите на это со стороны производителя — выброшены мега-деньги; кто-то сидел, ночей не спал, придумывая структуру табличек с контролами. Кто-то писал тул. QA гоняло всю эту чушь туда-сюда. Документация писалась и переводилась на разные языки. А на практике — нихрена это никому не помогает: всё уехало в помойку. Все, даже признанные знатоки MSI типа vdimas, пишут нативные диалоги вместо реляционного убожества.
По-сути, ты предлагаешь ограничить возможность разработки кастомных контролов. Т.е. надо было дать некую UI-библиотеку сугубо для инсталлера. А если у меня есть свои контролы (в дотнете, нейтиве, в другой какой-нить технологии — не важно), то, вместо их повторного использования в кастомных своих диалогах/визардах, я должен буду портировать их реализацию на вот эту прибитую к MSI гвоздями технологию. И кто-то тут еще рассуждает о "грамотном дизайне"...
Кароч, пару лет прошло, а ты до сих пор за деревьями леса не видишь. WI — это, в первую очередь, движок.
Ты можешь вообще всё ГУИ инсталлера нарисовать самому и пользоваться MSI API сугубо для того, чтобы дергать ф-ии этого АПИ.
S>Дело не в указании адреса/инстанса, а в том, что ломается весь механизм проверки наличия предыдущих версий софта — потому что их может быть одновременно много.
Т.е. ты НИ РАЗУ не передавал как параметр своим custom actions инстанс текущей инсталляхи и НИ РАЗУ не дергал MSI API из своих кастомных акций?
Какой ужас... ))
А как ты вообще эти кастомные действия пишешь? Что ты в них можешь полезного сделать без инстанса текущей инсталляхи?