Вопрос

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

  • НСИС - Бесплатный инструмент, который генерирует исполняемые файлы установки.Маленький двоичный файл.Специализированный, иногда бестолковый язык сценариев.
  • Настройка Инно - Бесплатные инструменты для установки исполняемых файлов.Различные схемы двоичного сжатия.Скриптовый движок Паскаль.
  • ВИКС - Бесплатный набор инструментов для создания двоичных файлов MSI.Язык определений XML.
  • WIX ClickThrough - Дополнительные инструменты для упаковки, загрузки через Интернет и автоматического обнаружения обновлений (теперь часть ядра WIX).
  • УстановитьЩит - Коммерческая среда разработки для установочного пакета.Генерирует двоичные файлы MSI.C-подобный язык InstallScript.
  • Мудрый - Коммерческая среда разработки для установочного пакета.Генерирует двоичные файлы MSI.
  • НажмитеOnce - Поддерживаемая Visual Studio платформа для публикации приложений на веб-сервере с автоматическим обнаружением обновлений.Нет поддержки требований к выборочной установке (INI-файлы, реестр и т. д.).Пакеты настраиваются как двоичный файл MSI.
  • Установить с пониманием - Коммерческая среда разработки для установки.Генерирует двоичные файлы MSI.Платформа автоматического обновления (веб-обновление).

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

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

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

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

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

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

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

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

Решение

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

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

Другие советы

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

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

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

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

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

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

Остерегайтесь InstallAware!

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

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

Это ограничено?Да.

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

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

С VS Setup это просто перетаскивание и сборка и развертывание.Любое другое решение, которое я пробовал, имело неудачи...они не могут автоматически определить результат вашего проекта...или нужны специальные фильтры, чтобы не включать в сборку нежелательные результаты.

Мое предложение таково:Если вы просто хотите развернуть свой проект, узнайте:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top