Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #5 : 20-04-2009 14:01 » |
|
1. Я конечно не привёл больше аргументов, врде бы уже где-то на форуме была подобная тема. Суть в след. Получилось так, что на меня спихнули "изготовление" инсталляторов нашей продукции в среде InstallShield 9. Оказалось, что они Vista-несовместимые и надо апгрейдит до (не помню... 11, 12). Клиент отказался доп. оплачивать. Мы тоже. В качестве альтернативы появился WiX. Мне как программеру было сложно разбираться с визуальными таблицами InstallShield-а, а процесс изготовления инсталлятора проходил по известной натасканной схеме - заполни это, заполни то. Через полгода это конкретно забывалось, и начинались поиски "а где это тут было". В WiX - мне проще, удобней, привычней и тд и тп. Это код описывающий мой инсталлятор. Ну, а с кодом-то мы уж разберёмся.
2. Собственно говоря я ещё и желание забыл указать, помимо времени.
Ответы:
- автоматизации нет никакой. Я бы тебе посоветовал ещё книжку по msi, если ты действительно хочешь досконально с этим разобраться. Я так глубоко не лез. По идее достаточно понимать, что msi представляет некую базу данных, создать которую можно используя XML и компилятор и линковщик WiX. Есть некие действия происходящие перед, во время и после инсталляции. В этот момент можно что-то делать. Например запустить свою dll или VBScript - отсюда безграничные возможности. Я например не мудрствуя лукаво таким образом при инсталляции останавливаю спуллер, меняю LanguageMonitor одного принтера, а потом снова запускаю спуллер. При деинсталляции происходит обратное. И мне глубоко по барабану, какие стандартные средства msi для этого существуют, ибо на поиски может уйти Бог весть сколько времени, а так я решил задачу за 20 минут.
Начать следует с простейшего инсталлятора, который ставит файл dummy.txt в стандартную папку винды. Это был бы урок 1. Который бы позволил изучить структуру инсталлятора, понять основные принципы его работы. Потом усложнять задачи.
По поводу установки стандартных модулей посмотри в сторону так называемых MSM сборок. Это набор необходимых библиотек определённых версий. Например MSVBVM60.MSM, MFC42.MSM, MDAC27ENU.MSM - названия говорят сами за себя. Правда WiX их не очень жалует и ругается на чём свет стоит, но тем не менее работает. Это происходит от того, что они представляют собой подобные msi сборки, которые WiX должен встроить в свою схему, ну и, как правило, чего-то там не совпадает.
зы По поводу статьи, конечно не стоит перелопачивать уже многократно выложенную одинаковою инфу. Интерес представляет именно проблематичные места, трудности с которыми сам столкнулся, пусть даже если нашёл решение в инете.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|