Выбор нового инструмента настройки

У нас есть проект с несколькими приложениями, включая веб-приложения, веб-службы, службы Windows и приложения Windows. У нас также есть предварительные условия, такие как SQL Server Express, .NET 2.0 и другие. У нас не так много взаимодействия с пользователем во время установки, но мы хотим добавить к нему больше интеллекта.

В настоящее время мы используем Visual Studio для создания интегрированной установки для всего этого. Но мы постоянно боремся с этим, чтобы заставить его работать так, как мы хотим.

Мы хотим изменить наш инструмент настройки на что-то более простое и достаточно гибкое.

Мы также ищем лучшее решение для программы обновления, которая должна запускать SQL-скрипты обновления в развернутой системе. Возможно, это можно было бы интегрировать с установкой.

Мы думаем об использовании InstallShield, но некоторые говорят, что это очень сложно. Как вы думаете, какой инструмент лучше всего подходит для этой работы?

Спасибо!


person pauloya    schedule 30.04.2009    source источник


Ответы (7)


Прочитав эти ответы, мы решили использовать Advanced Installer, его преимущество заключается в соблюдении стандартов MSI, а также в том, что он довольно прост в использовании.

person pauloya    schedule 19.08.2009

WiX — ваш друг.

http://wix.sourceforge.net/

WiX — это невероятно гибкая технология настройки, основанная на XML и имеющая множество инструментов и знаний.

Существует ряд блогов, имеющих отношение к WiX. Проверить:

http://www.joyofsetup.com/

http://robmensching.com/blog/

person Martin Peck    schedule 30.04.2009

Я использовал Installshield, NSIS, Visual Studio и WiX. Installshield всегда производил для меня раздутый установщик и стоил дорого. Visual Studio может быть ограничена в некоторых возможностях, но в целом она довольно хороша. NSIS, безусловно, хорошая небольшая система установки, так как я использовал ее для нескольких продуктов (один из которых был загружен и установлен около 750 тысяч раз), но когда я его использовал, он не следовал правилам MSI. WiX великолепен и также предоставляет вам множество функций, но он основан на сценариях, но теперь для него также есть графический интерфейс.

Конечно, похоже, что вы решили использовать Advanced Installer. Удачи.

person SteveM    schedule 19.08.2009

Поскольку вы упомянули Visual Studio и .net, я предполагаю, что вы выполняете развертывание на серверах под управлением Windows, но, тем не менее, вы, возможно, захотите взглянуть на ткань. Это инструмент развертывания на основе Python. Вы можете писать и запускать сценарии для развертывания и настройки ваших серверов, веб-служб и т. д. Единственное, я не уверен, насколько хорошо это работает с Windows в качестве целевого сервера.

person nstehr    schedule 30.04.2009

Если вы хотите или должны придерживаться стандартных установок MSI для платформы Windows, я бы поддержал рекомендацию Мартина Пека для WiX. По сути, это та же технология, которую используют проекты VS-setup и Installshield со всеми ее плюсами и минусами.

Если вам не нужно быть в поезде MSI, вы также можете рассмотреть более простые альтернативы — мне здесь больше всего нравится InnoSetup. Это бесплатно, абсолютно просто в использовании, с открытым исходным кодом (Pascal/Delphi), оно может установить ваши приложения за доли секунды, оно ПРОСТО РАБОТАЕТ! :)

Марк

person marc_s    schedule 30.04.2009

В InstallShield мне не нравятся три вещи:

  1. Это кажется слишком сложным
  2. Нет способа (насколько мне известно) генерировать из командной строки, вы всегда должны использовать графический интерфейс, который является препятствием для автоматизированных сборок.
  3. Кажется, это добавляет чрезмерное количество накладных расходов.

Я довольно часто использовал NSIS с открытым исходным кодом. В то время как InstallShield имеет слишком высокий уровень взгляда на вещи, NSIS — почти слишком низкий уровень. Вы должны написать код, чтобы вставлять записи реестра для удаления, например, с помощью программ «Установка и удаление». Вы сможете выполнить работу и иметь полный контроль над тем, что именно она будет делать, и она будет упакована в очень компактный единый исполняемый файл.

У меня нет опыта работы с InnoSetup или WiX — любой из них может выбрать курс между двумя крайностями InstallShield и NSIS. Оба находятся в свободном доступе и заслуживают внимания.

person Evan    schedule 30.04.2009
comment
Раньше я использовал InnoSetup все время, пока не создал свою собственную программу установки, которая, заметьте, работала не очень хорошо... freewarefiles.com есть несколько замечательных приложений для установки. - person jay_t55; 19.08.2009

Мы тоже выбрали WiX. Имейте в виду, что вам все равно нужно знать все о механизмах установщика Windows. WiX удобен для контроля версий и очень прозрачен

Если вам нужны настраиваемые действия и вы хотите написать их на языке .NET, выберите подход CustomActionAttribute. Вы можете написать диалоги установки, используя WinForms.

Этот сайт также является очень хорошим источником InstallSite.org.

person Vapour in the Alley    schedule 19.08.2009