Я оценил широкий спектр решений для установки и веб-развертывания, доступных для приложений 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 (я думаю), а затем выключается вниз, чтобы запустить установку.
- Автоматические обновления для многопользовательских игр полностью необходимы и универсально реализованы с использованием проприетарных систем.
Итак, наконец, на мои вопросы:
- ли я пропускал рамки веб-развертывания, который обеспечит необходимую мне функцию?
- Являются ли мои требования слишком конкретными, чтобы разумно ожидать от сторонней структуры доставки?
- Должен ли я покупать или строить?
А как насчет Powershell? – Kiquenet