Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Так как все-таки делать инсталляцию своей программы?  (Прочитано 8292 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
jur
Помогающий

lt
Offline Offline

« : 17-04-2009 19:17 » 

Привет!

(Речь о разработке программы под Вижуал Студией для Windows.)

Давно задумываюсь над этим вопросом. К своему стыду должен признать, что до сих пор ламерил с самораспаковывающимися архивами. Нужно обновить версию программы - вот тебе архив, запускай и радуйся.

Но ведь это не совсем то, что диктуют требования нынешнего дня (и за что боролись ... ну вы знаете ;-). Надо посмотреть, какие DLL-ки возжелает мое приложение, какие каталоги нужно создать, какие файлы нужно перезаписать, а какие - не нужно... Много вопросов.

Все это давно решалось и решилось армиями программистов, но (что весьма странно) мало освещено в повседневном общении на форумах.

Хотел спросить: как правильно решать эти вопросы? Как правильно разработать инсталлятор своей программы? Вижуал Студия обладает соответствующим механизмом, но я его "с лету" не сумел просечь... Попытался найти книжку - не нашел. Те дурацкие примеры, которые описываются в общих книгах по Вижуал Студии мне даром не сдались, а конкретную книжку по разработке именно инсталляторов - опять же, не нашел...

Друзья! Поделитесь, пожалуйста, своими размышлениями на эту тему, или хотя бы пните в нужном направлении!

Спасибо!
Записан

MPEG-4 - в массы!
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 17-04-2009 21:14 » 

Ну что я могу сказать... "Я себе уже всё доказал" (с) - WiX. В принципе туториала хватает на первое время. Плюс свой хэлп, плюс куча инфы в инете, плюс практически безграничные возможности.

зы 3я версия хоть и бета, но уже пару лет как и работает стабильно.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"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."
jur
Помогающий

lt
Offline Offline

« Ответ #2 : 20-04-2009 09:16 » 

Большое спасибо за информацию! Это как раз то, что нужно! Начинаю изучение.
Записан

MPEG-4 - в массы!
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 20-04-2009 10:08 » 

А слабо статью написать, или туториальчик? Ага На русском. "Я давно её хотел" (с), да всё руки не доходят. Тебе полезно будет, следуя принципу "если хочешь что-нибудь понять, объясни другому". Если конечно время позволяет.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"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."
jur
Помогающий

lt
Offline Offline

« Ответ #4 : 20-04-2009 12:11 » 

Я у Гугла спросил - тот ответил, что писать не надо ;-) Довольно много разных описаний, в том числе и на русском. Я пока еще только пытаюсь этот вопрос разгрести. Довольно много различных мнений. Вплоть до утвержений, что NSIS по-проще будет.

У меня пока в этом вопросе довольно много неясностей. Нужно попробовать создать свою инсталляцию и убедиться, что она работоспособна. Хотелось бы осветить такие вопросы, как автоматическое включение требуемых DLL-ок, включение при необходимости vcredist_x86.exe, выполнение каких-то дополнительных действий и т.п. Похоже, что все это относительно несложно решается, но для этого нужно хоть немного поразбираться ;-)

Поэтому считаю, что мне требуется пройти еще довольно длинный путь, пока я смогу хотя бы своей жене хоть что-то объяснить ;-) А говоришь ты абсолютно правильно. В случае положительного результата попытаюсь поделиться своим скромным опытом.
Записан

MPEG-4 - в массы!
Джон
просто
Администратор

de
Offline 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."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines