2009-03-23 5 views
8

Я оценил широкий спектр решений для установки и веб-развертывания, доступных для приложений Windows. Я просто уточнить здесь (без слишком много деталей, эти средства были охвачены в других вопросов) мое понимание вариантов:Купить или создать для развертывания в Интернете?

  • NSIS - бесплатный инструмент, который генерирует установки исполняемых файлов. Маленькая бинарная. Специализированный, иногда тупой, язык сценариев.
  • Inno Setup - бесплатные инструменты для установки исполняемых файлов. Различные схемы двоичного сжатия. Pascal скриптовый движок.
  • WIX - Бесплатный набор инструментов для создания двоичных файлов MSI. Язык определений XML.
  • WIX ClickThrough - Дополнительные инструменты для упаковки, загрузки и автоматического обновления сети (теперь часть ядра WIX).
  • InstallShield - Коммерческая среда разработки для инсталляционной упаковки. Создает двоичные файлы MSI. C-подобный язык InstallScript.
  • Wise - Коммерческая среда разработки для инсталляционной упаковки. Создает двоичные файлы MSI.
  • ClickOnce - Поддерживаемая среда Visual Studio для публикации приложений на веб-сервере с автоматическим обнаружением обновлений. Нет поддержки пользовательских требований к установке (файлы INI, реестр и т. Д.). Пакеты устанавливаются как двоичные файлы MSI.
  • Install Aware - Коммерческая среда разработки для установки. Создает двоичные файлы MSI. Автоматическое обновление (веб-обновление).

Если я пропустил какой-либо из них, пожалуйста, дайте мне знать.

и нашел некоторое полезное обсуждение этих технологий на StackOverflow:

Я работал с некоторыми из этих решений, а также горстка патентованных внутренних решений по установке. Они в основном касаются упаковочных установок и обеспечивают платформу для разработчиков для доступа к среде выполнения. С растущим требованием для веб-развертывания и автоматических обновлений программного обеспечения я ожидал найти больше консенсуса среди разработчиков в рамках веб-доставки программного обеспечения и последующих обновлений, я не нашел такого консенсуса. Есть, безусловно, доступные решения (ClickOnce, ClickThrough, InstallShield Update Service), но каждый из них имеет значительные ограничения (пожалуйста, поправьте меня, если я неправильно представляю любой из них). Меня интересовала структура, которая обеспечивала бы некоторые из следующих факторов:

  • Сторонний хостинг/управление обновлениями.
  • Доступ к среде клиента (файлы INI, реестр и т. Д.).
  • Регистрация/активация пользователя.
  • Обратная связь/Отчеты об ошибках

Это оставляет меня с сильным впечатлением, что лучший способ приблизиться к проблеме развертывания веб является через пользовательский построенный собственное решение (возможно, используя существующую упаковку установки). Я видел такого рода решения хорошо работает для ряда успешных применений:

  • FileZilla - HTTP запроса на update.filezilla-project.org, чтобы проверить наличие обновлений, загружает двоичный NSIS (я думаю), а затем выключается вниз, чтобы запустить установку.
  • Автоматические обновления для многопользовательских игр полностью необходимы и универсально реализованы с использованием проприетарных систем.

Итак, наконец, на мои вопросы:

  • ли я пропускал рамки веб-развертывания, который обеспечит необходимую мне функцию?
  • Являются ли мои требования слишком конкретными, чтобы разумно ожидать от сторонней структуры доставки?
  • Должен ли я покупать или строить?
+0

А как насчет Powershell? – Kiquenet

ответ

2
  • Если ваши конкретные требования являются основными для вашего бизнеса; т. е. часть вашего бизнеса - обеспечить плавное и удобное развертывание/установку, и вы чувствуете, что ни одна из доступных библиотек развертывания не позволяет вам этого достичь, а затем, безусловно, продолжайте и создавайте свои собственные.
  • Если ваши конкретные требования были бы хороши, но они не составляют значительную часть вашего бизнеса; т.е. конечный пользователь обычно не ожидает или не нуждается в плавной процедуре установки, или ему никогда не придется делать это самостоятельно (т.е. они передают этот шаг в свой ИТ-отдел), тогда необходимость создавать свои собственные только для ваших собственных конкретных требований вероятно, будет перевешиваться дополнительными усилиями, которые потребуются.

Я думаю, что ваше впечатление о том, что вам понадобится индивидуальное решение, является звуковым; похоже, ваши требования будут ключевыми для вашего продукта, особенно если вам нужны действительно плавные автоматические обновления и обратная связь.

12

Я бы посоветовал проявлять осторожность в отношении Installaware. У нас недавно был шокирующий опыт их поддержки клиентов.

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

Затем мы подняли ту же проблему на форумах пользователей и были оперативно запрещены, потому что это означало перекрестное размещение и не разрешалось. Хотя это не упоминается в их положениях и условиях. Фактически, они запретили наш IP-адрес, поэтому никто в нашей компании не может размещать сообщения на форумах.

Очень плохой опыт и один, который мы не будем повторять. Теперь мы как можно скорее заменим Installaware.

Приобретите Installaware на свой страх и риск.

+3

Аналогичная ситуация. Обслуживание клиентов ужасно. Добавьте к этому их брендинг по всему результирующему установщику даже после зарядки такой высокой цены. – Druid

10

Абсолютно согласен с плакатом, который сказал, чтобы держаться подальше от InstallAware. У них была долгая история действительно абсурдных проблем этики, и они относятся к своим собственным клиентам ужасно.Они могут быть совершенно оскорбительными и оскорбительными.

Опасайтесь InstallAware!

4

Я полностью согласен с InstallAware.

После использования WiX, NSIS и InstallAware я должен смиренно признать, что все они были переполнены тем, что мне действительно нужно, в качестве разработчика программного обеспечения. Нет проектов, которые я сделал до сих пор, которые не могли быть развернуты с использованием проекта развертывания Visual Studio.

ЕЖЕДНЕвление. Да.

также очень простой в использовании. Кроме того, вы на самом деле может сделать действительно аккуратные вещи, как автоматически создавать патчи (файлы MSP) с помощью методов, как описано here

Я полностью понимаю, что вы не можете сделать все внутри установки Visual Studio проект, но это довольно удивительно, что вы может выполнить. Это бесплатно, это просто и, честно говоря, для общего использования - это лучший вариант, чем тратить бесконечные часы на изучение потрясающего XML XML (впечатляющего), или подробные скрипты InstallAware ...

С VS Setup, это перетащить 'n'drop & build'n'deploy. Каждое другое решение, которое я пробовал, установило спину ... они не могут автоматически определить ваш выход проекта ... или нужны специальные фильтры, чтобы не включать нежелательные выходы из сборки.

Мое предложение следующим образом: Если вы просто хотите, чтобы ваш проект развертывания, а затем узнать:

  1. Как создать пользовательский класс установки и
  2. Как автор свои собственные предварительно необходимые пакеты

Это оба достаточно легкие навыки для освоения и удовлетворения потребностей большинства разработчиков.

+0

Спасибо за интересную перспективу :) – RedBlueThing

+0

Ссылка мертва, используйте [это] (http://www.codeproject.com/Articles/11373/How-to-create-installation-patches-for-VS-NET-depl) – transistor1