Wise , installshield ...

berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Wise , installshield ...

Post by berboris »

Выбираем инстолятор..
Кто какими тулами пользуется , чем они хороши, поделитесь опытом.

Спасибо.
nickb
Уже с Приветом
Posts: 3207
Joined: 08 Aug 1999 09:01
Location: Tampa, FL

Post by nickb »

Я пользуюсь для простых инсталляций - Tarma Installer.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

в догонку - нужно чтбо инсталлер умел работать с базой данных- как минимум с mssql.
User avatar
WPooh
Уже с Приветом
Posts: 292
Joined: 22 Jul 2002 04:03
Location: Vl->Nsk->SFBA

Post by WPooh »

Работу с базой можно и руками сделать.
Я вот для таких вещей кучу CustomAction делаю (под Windows Installer).
Работа освобождает.
User avatar
LAVleon
Уже с Приветом
Posts: 537
Joined: 10 Feb 2002 10:01
Location: Харьков--> Dracut,MA-> Киев-> East Stroudsburg,PA

Re: Wise , installshield ...

Post by LAVleon »

berboris wrote:Выбираем инстолятор..
Кто какими тулами пользуется , чем они хороши, поделитесь опытом.

Спасибо.

Inno Setup. Можно великие дела творить и просто очень.
lozzy
Уже с Приветом
Posts: 2435
Joined: 12 Jun 2001 09:01

Re: Wise , installshield ...

Post by lozzy »

LAVleon wrote:
berboris wrote:Выбираем инстолятор..
Кто какими тулами пользуется , чем они хороши, поделитесь опытом.

Спасибо.

Inno Setup. Можно великие дела творить и просто очень.


Перед работой с их обработчиком back/forward рекомендуется чего-нибудь глубоко вкурить :mrgreen:
Steel helmet protects your teeth from the morning to the evening.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Re: Wise , installshield ...

Post by berboris »

lozzy wrote:
LAVleon wrote:
berboris wrote:Выбираем инстолятор..
Кто какими тулами пользуется , чем они хороши, поделитесь опытом.

Спасибо.

Inno Setup. Можно великие дела творить и просто очень.


Перед работой с их обработчиком back/forward рекомендуется чего-нибудь глубоко вкурить :mrgreen:


А Вы что порекомендуете?
почему то Не нашел ни в Wise ни в Installshield возможности брать исходные файлы из CVS
lozzy
Уже с Приветом
Posts: 2435
Joined: 12 Jun 2001 09:01

Re: Wise , installshield ...

Post by lozzy »

berboris wrote:
lozzy wrote:
LAVleon wrote:
berboris wrote:Выбираем инстолятор..
Кто какими тулами пользуется , чем они хороши, поделитесь опытом.

Спасибо.

Inno Setup. Можно великие дела творить и просто очень.


Перед работой с их обработчиком back/forward рекомендуется чего-нибудь глубоко вкурить :mrgreen:


А Вы что порекомендуете?
почему то Не нашел ни в Wise ни в Installshield возможности брать исходные файлы из CVS


Да я, вообщем-то, из бесплатного инносетап и порекомендовал бы. Зело полезная штука, только немного мутная. Помню, еще был напряг, что он не умел делать многоязычные инстоллеры и встроенное АПИ было весьма убого. Например, GetFreeDiskSpace возвращал int, что неприемлимо в современных условиях (числа до 4гигов). Вроде сейчас это все поправили, но я не пробовал уже года три, наверное - пользуюсь пэкэджером из 2003 студии (Windows Installer), что бы сделать msi.

Насчет сорцов из cvs я не понял. Зачем это надо? Инстолл-программы не предназначены для компиляции. Им можно сказать лишь, что надо брать вот этот экзе и этот ини и запаковать все в один файл, а при выкладке у клиента сделать еще вот такую запись в реестре и вызвать такую-то функцию из длл-ки. Ну и пре деинстолле сделать то-то и то-то.
Steel helmet protects your teeth from the morning to the evening.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

Вообще то бесплатное не являеться главным условием.
Платное - так даже лучше.
lozzy
Уже с Приветом
Posts: 2435
Joined: 12 Jun 2001 09:01

Post by lozzy »

berboris wrote:Вообще то бесплатное не являеться главным условием.
Платное - так даже лучше.


Вы так и не сказали, что же конкретно нужно от инстоллера, кроме того, что он должен брать сорцы из ЦВС (непонятно зачем) и должен работать с мс сиквелом. Обе эти фичи напрямую, ИМХО, практически ни в одном инстоллере не реализованы, потому что требования слишком общИ и вообще это легче сделать в привычной среде, нежели изучать еще один мутный язык скриптования.
Steel helmet protects your teeth from the morning to the evening.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

Про CVS я погорячился, не нужно это, конечно.

Нужно уметь создавать базу данных в MS SQL.
А в остальном задача стандартная -
копирование файлов,
запись в регистр,
спрашивание у юзера пареметров и прописывание их в .INI файлы.
lozzy
Уже с Приветом
Posts: 2435
Joined: 12 Jun 2001 09:01

Post by lozzy »

berboris wrote:Про CVS я погорячился, не нужно это, конечно.

Нужно уметь создавать базу данных в MS SQL.
А в остальном задача стандартная -
копирование файлов,
запись в регистр,
спрашивание у юзера пареметров и прописывание их в .INI файлы.


Все это (кроме работы с базой) умеет делать любой инстоллер. Прописывание в ini файл... хмм... Наверное тоже через кастом экшены надо будет делать, напрямую никто такое не делает. Опять же ИМХО. Приглядитесь все же к InnoSetup-у, довольно хороший и стабильный инстоллер.
Steel helmet protects your teeth from the morning to the evening.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

Спасибо
Но если InnoSetup не работает с сиквелом, то он точно отпадает.
для компании нет проблем купить продукт.
Проблема - выбрать ПРАВИЛЬНЫЙ.
Last edited by berboris on 15 Nov 2005 23:10, edited 1 time in total.
User avatar
Shin
Уже с Приветом
Posts: 5738
Joined: 04 Dec 2000 10:01
Location: MN -> Moscow -> Thailand

Post by Shin »

berboris wrote:Нужно уметь создавать базу данных в MS SQL.

Пишется SQL скрипт и запускается с помощью утилит командной строки от поставщика базы данных. Запустить программу с параметрами может любой инсталлер.
Если требуется менять содержимое скрипта в зависимости от параметров - также практически любой умеет читать-искать-писать в текстовых файлах.
Если что-то специальное надо сделать, то зовем функцию длл-ки, можно самописной.
В моей конторе используется MS SMS Installer, там все и делаем, включая создание баз. Специальных инструкций по работе с базой там нет.
Настоящий хомяк в своей жизни должен сделать три вещи: пожрать, поспать и сдохнуть.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

Руками можно сделать все.
Можно вобоще интоллером не пользоваться, а написать че нибдуь руками...

Только мне хочеться выбрать решение чтобы минимизировать написание внешних дллек и т.д.
Oleg_B
Уже с Приветом
Posts: 5406
Joined: 16 Apr 1999 09:01
Location: MA

Post by Oleg_B »

Посмотрите же наконец на InstallShield 11. Там что-то есть про SQL
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

Как ответственны за Setup нашего продукта и нафигачивший для него не одну сотню строк кода (и upgrade сложный делает и MSDE инсталлирует и базу создает и данные закачивает и еще много чего) могу сказать - InstallShield - дерьмо полное! Такое ощущение, что писали какие-то калеки.

С виду все очень красиво и все должно работать, начинаешь использовать - то тут не так, то там заморочка и погнал wорк around чтобы обойти какую-нибудь мелочь или добавить функциональности. В результате Setup идет с C-библиотекой, без которой просто не обойтись, support.installshield.forum становится более посещаемым местом чем Привет 8O :)
Плюс ко всему когда работаешь со средой, не покидает ощущение, что строишь карточный домик - чуть где-то задел и огреб кучу проблем. Сделано все как-то на соплях.

Еще из опыта, если на задачу отвели часа 3, умножайте это время на 2-3 легко.

Если бы сейчас стал выбирать продукт, остановился бе на Wix (Open Source, supported by MS) для Setup и (btw) MS Build (part of .NET Framework 2.0) для билда.
Если там все грамотно организовать, гиморрой уменьшается на порядки.

В результате у нас сейчас основной продукт на InstallShield, и WEB-app на Wix. Wix looks much more solid.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

Mic wrote:Если бы сейчас стал выбирать продукт, остановился бе на Wix (Open Source, supported by MS) для Setup и (btw) MS Build (part of .NET Framework 2.0) для билда.
Если там все грамотно организовать, гиморрой уменьшается на порядки.


а Wise почему не рассматриваете?
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Post by Mic »

berboris wrote:
Mic wrote:Если бы сейчас стал выбирать продукт, остановился бе на Wix (Open Source, supported by MS) для Setup и (btw) MS Build (part of .NET Framework 2.0) для билда.
Если там все грамотно организовать, гиморрой уменьшается на порядки.


а Wise почему не рассматриваете?

Потому что не работал.
Да, все сказанное относится к версии IS DevStudio 9, но по опыту перехода с 5 на 9 - красивее стало, а вот гиммора не уменьшилось.
User avatar
LAVleon
Уже с Приветом
Posts: 537
Joined: 10 Feb 2002 10:01
Location: Харьков--> Dracut,MA-> Киев-> East Stroudsburg,PA

Post by LAVleon »

По своему опыту InstallShield как то сразу не лег на душу (или может опыта было мало на тот момент), Wise не плохпя штука, но сейчас все больше InnoSetup нравится. Pascal как то близок (есть пару проектов на Delphi). Да и все что надо мне делается просто...
User avatar
WPooh
Уже с Приветом
Posts: 292
Joined: 22 Jul 2002 04:03
Location: Vl->Nsk->SFBA

Post by WPooh »

Я тоже достаточно много времени уделил инсталяшкам. Инсталяшки толстые, кучу кастомных действий, апгрейды и пр.
Я разделил бы задачу так: нужно ли ставить MS Logo (типа, продукт совместим с WindowsXXX и пр. фигня) или как-то взаимодействовать/дружить с MS - вы ограничены технологией Windows Installer, несмотря на то что они сами могут клепать инсталяшки на древнем InstallShield'е. Хотют они этого.
Ну и хотите ли вы, чтобы ваш продукт распространялся совместно с другими пакетами в составе их инсталяшки. Это тоже удобнее делать в Windows Installer'е с точки зрения транзакционности изменений.

Если не связаны - можно выбрать более простые решения.
Простые - начиная от WinRar, WinZip, которые просто распаковывают файлики и дают возможность запуска программы по окончанию, прикрепить свой логотип и пр.
Далее - EasySetup, Setup Generator (Pro), DeployMaster, CreateInstall, VISE и прочая, и прочая.
Эти позволяют чуть больше - записать в реестр, создать шорткаты, исполнить код и dll и т.д.

Следующий виток сложности - скриптовые движки. В смысле, что есть некий фреймворк, который управляется скриптовой программкой, которая описывает последовательность действий и как надо чего куда поставить.
Inno Setup, Wise Package Studio, InstallShield, Nullsoft Scriptable Installation System и некоторые другие. InstallShield куплен Макровиженом, линейка продуктов пересмотрена с тех пор, как я изучал этот вопрос. Конкретный продукт можете посмотреть в описании. Там есть у них список фич раскиданный по разным эдишнам продуктов.

Ну и наконец вершина эволюции :D - продукты под Windows Installer.
опять InstallShield, Wise for Windows Installer, MS Visual Studio, Perl Dev Kit, WiX, MakeMSI (статья). Наверняка есть еще что-то.

Да, заглянул на RSDN - сегодня статью выложили. К вопросу распространения приложений

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

Но если чуть-чуть посложнее сделать, например, каритинку прикрутить, чтобы кастомеру можно было любоваться на что-то во время распаковки файлов, либо записать в реестр/поставить шорткат - класс инсталяторов из второй группы. Здесь мне понравился Setup Generator, хотя это был выбор очень давний. Но особых проблем не замечено, ибо этот класс продуктов простой по функциональности, там ломать нечего. Да и устанавливались неширпотребные приложения. Минимум усилий и минимум действий.

Третий класс инсталяторов - я пользовал InstallShield и немного Wise. Скриптовый язык простой. Wise понравился несколько больше своей большей продуманностью. Но я пользовал те версии продуктов, которых сейчас найти тяжело.

Четвертый - под могучий Windows Installer. Пользовал опять-таки InstallShield Developer 9/10 и Wise for Windows Installer 5.2(1)/6.0(1). Wise оказал более благоприятное впечатление. Вцелом более продуманный продукт. Хотя, у обоих есть косяки, причем противные, но Wise перевесил и мы купили его. Что понравилось: он более соответствует требованиям стандарта Windows Installer, чекает ошибки (ссылочную целостность, форматы имен и пр. мелочи), дает грамотные ворнинги. Хотя это ни коим образом не заменяет валидаторы, но часть работы снимает. Не хватает некоторой функциональности, например, определить, в каком компоненте находится файл, но после небольшого опыта наловчаешься бегать по таблицам и находить нужные данные. Ну и некоторые другие мелочи. Работает он шустрее. По крайней мере, сравнивал я IS10 и WfWI 5.2.
В WfWI 6 есть проблемы с прохождением по последовательности диалогов. Они прикрутили это все через вызов своей dll-ки, которая все-таки глючит. Ну и есть ряд забавных решений, которые мне понравились. Например, очень грамотно интерпретируются таблицы последовательностей операций в виде псевдоскрипта - очень нагладно смотрится. К тому же подсветка серым, куда нельзя вставить CustomAction - очень грамотно, не нужно в MSDN заглядывать. В общем, мой респект. :hat:

Но еще раз, глюки есть во всех сложных продуктах. В Wise одни, в IS другие. Но для меня глюки Wise, которые я обнаружил, не сравнятся с тем, что IS грубо плюет на guidelines, на ограничение по добавлению бинарных файлов в компоненты. Он пихает все файлы в директории в один компонент, хотя это чревато громадными проблемами при генерации апгрейдов под Windows Installer. Надо за ним следить, запускать скриптики и пр. Но надо отдать им должное, COM API у них богаче, чем у Wise, хотя мне и Wise'вского хватило для своих целей. Это API нужно уже в случае, чтобы подредактировать проектный файлик, из которого компиляется инсталяшка.
Ну и нужно аккуратно следить, чтобы при автоматическом отслеживании списка файлов в поддиректории, измененный проект инсталяшки сохранить в CVS'е, ибо GUID'ы Component'ов уплывут от сборки к сборке. То есть, правило такое: комитать проекты инсталяшек в CVS при релизе новой версии. Ну, тут много тонкостей, все не опишешь. :gen1:

WiX - круто, но когда я смотрел на него, он был еще маленький. Сейчас подрос. Крутая вещь может получиться.

Perl Dev Kit - подход хорош, хотя несколько гемороен, у них много руками надо делать. Но смотрел я результат то ли из их guidelines то ли по дефолту - не соответствует ограничениям WindowsInstaller. Ничем не могу оправдать то, что они меняют UpgradeCode для продукта. Ну, мы его и не используем.
Но я оговорюсь еще раз, продукт у нас с точки зрения инсталяции очень и очень сложный. Я фул-тайм несколько месяцев занимался его инсталятором и вообще всей билд системой. Билд системы вообще 3 раза переписывали с нуля, 4 версия уже стала GUI, хотя я ее переписал бы еще раз, не очень удобно редактировать и работать с ней. Может ее уже и переписали, я на том проекте не работаю уже. Ну да это офтопик.

Резюме. Определите, что вам нужно для вашего продукта, примерно по критериям, что я указал: WIndows Logo, механизм апдейтов, разворачивание с сети, транзакционность инсталяционного процесса, установка из-под неадминистративного аккаунта, инсталяция по требованию (при первом использовании фичи), интеграция с (W)SUS, возможность встраивания в транзакцию для внешних инсталяшек и пр. Если это не нужно, можете не связываться с Windows Installer.
Хотя, я бы даже в этом случае рекомендовал его. Стандарт все-таки. Простые операции он делает без особых проблем. Единственное - не может запустить перед установкой файлов exe или dll файл, который требует по депендам другие dll-ки, которые тоже не установлены (еще) в систему. У IS для этого генерируется специальный контейнер, который распаковывается при старте. На Wise мы это делали самостоятельно, что несложно - например, в ресурсы запихать все нужные dll'ки и распаковать их оттуда.
Работу с базой мы без особых проблем сдедали из CustomAction. Да, вот Oleg_B говорит, что IS11 это поддерживает своими экшенами.

Успехов! :gen1:
Работа освобождает.
User avatar
WPooh
Уже с Приветом
Posts: 292
Joined: 22 Jul 2002 04:03
Location: Vl->Nsk->SFBA

Post by WPooh »

Но я подчеркну и выделю БАШЫМИ БУКВАМИ: Windows Installer - гораздо более сложная технология, чем остальные перечисленные. В ряде случаев оправдывает себя. Но иногда достаточно дорого/долго, не имея опыт, делать под него инсталяшки.
Я давно статью обещаю на RSDN, но вот все никак решиться не могу. Студентам уже 3 раза цикл лекций по Windows Installer делал, в конторе тоже разик. Пора забыть про авралы/релизы и поделиться опытом. :)
Работа освобождает.
lozzy
Уже с Приветом
Posts: 2435
Joined: 12 Jun 2001 09:01

Post by lozzy »

WPooh wrote:Я давно статью обещаю на RSDN, но вот все никак решиться не могу. Студентам уже 3 раза цикл лекций по Windows Installer делал, в конторе тоже разик. Пора забыть про авралы/релизы и поделиться опытом. :)


Статья уже была в 2002 году.
http://rsdn.ru/article/install/wininstaller.xml
Вторую часть почему-то, правда, на сайт не выложили...
Steel helmet protects your teeth from the morning to the evening.
User avatar
WPooh
Уже с Приветом
Posts: 292
Joined: 22 Jul 2002 04:03
Location: Vl->Nsk->SFBA

Post by WPooh »

lozzy wrote:Статья уже была в 2002 году.
http://rsdn.ru/article/install/wininstaller.xml
Вторую часть почему-то, правда, на сайт не выложили...

Есть и вторая статья.
http://www.rsdn.ru/article/install/wininstaller2.xml
Есть еще две.
Но сути процесса, особенно во второй, мало описаний. Ну, по крайней мере, мне так кажется. Про апдейты вообще нету ничего. В общем, книжки есть. вот эта - правильная.
Но хочется тоже чего-нибудь ляпнуть. Своего. :)
Работа освобождает.
berboris
Ник удалён за неоплаченную рекламу
Posts: 479
Joined: 21 May 2001 09:01
Location: New York

Post by berboris »

А может ли Wise или какой другой инсталлер сделать такую на первый взгляд простую вещь:

У меня есть в приложении некий текстовый файл.

Можно ли при инсталящии спросить параметер, затем зайти в этот текстовый файл, найти строку XXXX и заменить ее на значение этого параметра?

Return to “Вопросы и новости IT”