Какой установочный продукт использовать? InstallShield, WiX, Wise, Advanced Installer и т.д.

В настоящее время я занимаюсь расследованием по поводу удаления установленного в настоящее время пакета установки (Wise Installer 9) и перехода к тому, что будет обрабатывать такие вещи, как Windows Vista, Windows 7 и 64-разрядные системы. Локализация инсталляторов принесет пользу, так как у нас есть также несколько французских канадских клиентов.

В настоящее время у нас есть установки для пакетов и утилит программного обеспечения в следующих технологиях:

  • Прогресс 4GL
  • Visual Studio 2005
  • Visual Studio 2008
  • .NET Compact Framework 3.5

Я уже смотрел WiX и InstallShield, а также Altiris сделал замену для старой системы Wise.

Я еще не играл с InstallShield, но из всего, что я видел/устанавливал, он, кажется, один из фаворитов отрасли. Я просмотрел некоторые теги, относящиеся к InstallShield, и мне любопытно посмотреть, что говорит об этом группа.

Я просто по умолчанию перехожу к ним? Насколько хорош WiX для не-.NET?

Ответ 1

ОБНОВЛЕНИЕ, август 2018, новый и более короткий вариант: Как создать установщик Windows. Сосредоточены на обобщении MSI and its major benefits а также на перечислении major tools available (со ссылками на скачивание), а также на mentioning some new, trending deployment technologies.


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

Попутно я использовал большинство основных инструментов для упаковки (некоторые в разных версиях): InstallShield, мудрый (вне рынка, к сожалению), WiX, Advanced Installer (только тестирование), Orca и я протестировали некоторые другие инструменты (ссылка на "Инструменты разработки для установщика Windows" для разработчиков по адресу http://www.installsite.org - довольно исчерпывающий список инструментов). Я также использовал менее распространенные инструменты для упаковки и развертывания, такие как Computer Associates Unicenter - возможно, уже не в продаже. Существует также страница, посвященная средствам разработки без MSI.

ОБНОВЛЕНИЕ: Если вам нужен инструмент MSI для сравнения двух версий файла MSI или просто для извлечения информации из файла MSI, вы можете прочитать этот ответ: Как я могу сравнить содержимое двух (или более) MSI файлы? (ориентирован на бесплатные инструменты MSI).

В этом посте представлен обзор сильных сторон некоторых различных инструментов разработки, а также некоторые хитрости, о которых следует знать. При всем их сходстве эти инструменты на самом деле совершенно разные. Были предприняты все попытки сделать описания как можно более объективными - описание реального опыта с положительными и отрицательными сторонами.


Связанные темы развертывания

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

InstallShield

  • Функция богатая.
  • Всегда в курсе новейших технологий.
  • (Настройка) Разработчик ориентирован.
    • Доступны разные издания.
    • Флагманский продукт AdminStudio предоставляет как инструменты для настройки, так и инструменты для переупаковки.
  • Очень хорошие функции управления релизами, локализации и автоматизации для автоматизации процессов сборки. По крайней мере, лучше, чем у конкурентов.
    • Для сложных продуктов управление выпуском является, пожалуй, основным коммерческим аргументом для InstallShield. Вы можете с легкостью доставлять разные варианты: языковые версии, oem-версии, средства просмотра, выпуски приложений и т.д., Используя флаги выпуска и аналогичные конструкции.
    • Флаги выпуска в основном используются для условного исключения или включения определенных частей продукта из каждой скомпилированной установки - это часто является большой частью того, что требуется при создании профессиональных семейств установок.
    • Представление выпуска в Installshield позволяет получить полный обзор всех ваших различных типов установки и выпусков. Вы видите все языковые версии и настройки выпуска, поставляемые для Интернета (один большой установочный файл) или для распространяемых носителей (внешние исходные файлы), а также любые другие предоставленные вами варианты.
      • Крайне важно для каждого выпуска и выпуска вы можете переопределить важные параметры, такие как название продукта, версия продукта, package-, product- и код обновления, а также многие другие необходимые параметры, которые должны динамически изменяться в зависимости от версии продукта и языковой версии.
      • Во многих других продуктах этот тип управления выпуском и выпуском может быть намного сложнее реализовать. Для более простых установок этот тип гибкости может быть менее важным.
    • API автоматизации для продукта позволяет легко " дистанционно управлять " из сценариев автоматизации сборки различных типов.
      • Существуют также модули сборки командной строки (для использования на выделенных серверах сборки).
      • Полная автоматизация сборок целого набора продуктов и редакций легко возможна с помощью обычной автоматизации VBScript/VBA/Javascript.
    • Полная поддержка локализации с использованием таблиц строк, используемых для поддержки различных языков настройки.
      • Базовые диалоги также предоставляются в готовом виде на нескольких языках (за дополнительную плату).
      • Вам нужно только локализовать свой собственный установочный контент (подписи к списку функций, любые пользовательские диалоговые окна или окна сообщений, изображения с текстом и т.д.) - все еще много работы.
      • Вы можете поставить огромную многоязычную установку. Это не рекомендуется в моем опыте по нескольким причинам (см. Раздел локализации). Худшая проблема заключается в том, что вы должны локализовать все новое и измененное содержимое на всех языках, прежде чем вы сможете доставить английскую версию. Это почти никогда не приемлемо для маркетинга/продаж. И всегда есть исправления, которые требуют, чтобы вы перестраивали и переиздавали один язык, а затем вы хотите сделать это без UAT и QA для всех других языков. Лучше предоставить отдельные сборки для каждого языка (легко реализуемые).
  • Хорошая поддержка сообщества: форумы сообщества пользователей.
  • Довольно хороший графический интерфейс, обычные вещи довольно просты.
  • Полноценный редактор MSI-GUI.
    • Очень могущественный. Несколько сложнее.
    • Ограничения основных функций графического интерфейса технологии MSI вызывают некоторые затруднения и раздражающие ограничения, но это одинаково для всех средств развертывания.
    • Основная причина заключается в том, что графический интерфейс MSI реализован с использованием таблиц данных внутри самого файла MSI, и это вызывает серьезные ограничения в отношении событий диалога по сравнению с полной "моделью событий" для правильных диалогов Win32.
  • Полнофункциональный язык сценариев в стиле C для пользовательских действий, называемый " Installscript ".
    • Installscript теперь компилируется в нативный - или эмулируется с собственной песочницей, не знаю, какой именно. Нет необходимости устанавливать среду выполнения, как раньше.
    • Между прочим, эта среда выполнения была источником некоторых довольно проблематичных проблем развертывания из-за повреждения среды выполнения - по-видимому, часто связанного с DCOM - и различных несовместимостей между различными версиями среды выполнения. Вот несколько ссылок на устранение неполадок для "устаревших целей":
    • Хотя среда выполнения была очень проблематичным источником ошибок, все связанные проблемы теперь, похоже, полностью решены, начиная с Installshield 12 и более поздних версий.
  • Красиво интегрированная справка в GUI.
    • Очень важно для такой сложной технологии.
    • Часто очень полезно - особенно для решения общих задач.
  • Стандартный формат хранения двоичных файлов не допускает никакого реального управления исходным кодом или ветвления (в отличие от WiX, который обеспечивает это из коробки). Я думаю, что есть способ сохранить проект в текстовом формате, но я никогда не использовал его. Не уверен, насколько это будет эффективно.
  • Без тени сомнения, безусловно, самый плохой из всех инсталляционных продуктов.
    • Честно говоря, большинство ошибок связано со специальным типом проекта " Installscript MSI ", который реализует настраиваемую модель диалога для установок MSI (а не собственный графический интерфейс на основе таблиц, который подавляется).
    • Другими словами, тип проекта Installscript MSI НЕ ДОЛЖЕН использоваться ни при каких обстоятельствах. Пожалуйста, примите это близко к сердцу, если вы все еще используете их - их особенно трудно обновить должным образом (первое развертывание может быть в порядке, но обновления ломаются). Другие типы проектов, кажется, работают хорошо.
    • После отказа от Installscript MSI (что, похоже, делало большинство людей), инструмент работал довольно хорошо для меня лично (хотя и не без ошибок).
  • Меня не порадовала поддержка развертывания сайтов IIS и приложений COM+. Мне нужно было использовать гибкость и настраиваемость WiX, а не простоту использования Installshield. Просто не хватало гибкости и контроля.
  • Поддержка виртуальных пакетов Microsoft App-V и новых технологий виртуализации.
    • Позволяет несколько новых вещей по сравнению с обычным приложением.
    • Потоковое приложение - без локальной установки на машины - JIT.
    • Используйте два несовместимых программного обеспечения на одном компьютере.
    • Обновление через сервер.
    • Контроль лицензирования - максимальное количество одновременных пользователей или привязка программного обеспечения к группе/пользователю.
    • Представьте приложение быстро и легко пользователям.
    • Больше маркетинга Microsoft здесь.

мудрый

Мудрый официально ушел в отставку, но он уже воскрес. К сожалению, некоторые правовые вопросы, возможно, сделали это окончательным на этот раз - насколько я знаю. Это было бы позором для такого замечательного инструмента. Он был приобретен Altiris, а затем Symantec. Похоже, что сейчас он не на рынке. Я все еще ухожу в резюме хороших мудрых особенностей:

  • Быстро и легко и довольно многофункциональный.
    • Очень хорошая простота использования в целом, отличный набор функций.
    • Отсутствие некоторых (очень) расширенных функций, таких как IIS, расширенное управление выпусками и т.д.
  • Администратор /Repackager ориентирован.
    • Меньше кода сосредоточены, чем Installshield.
    • Уникально способный и гибкий графический редактор сценариев.
    • Хорошо продуманная настройка конфигурации GUI.
  • Также отлично подходит для небольших групп разработчиков, которые ищут быстрый и относительно простой способ развертывания своего приложения.
  • Иногда немного отстает от новейших технологий (по сравнению с Installshield), но сравнительно "без ошибок".
  • Интуитивно понятный графический интерфейс, общие вещи (очень) легко.
  • Очень хорошая обработка конфигурации последовательности установки и пользовательских действий в редакторе стилей скрипта. Больше сценариев GUI, меньше кода.
  • Твердый камень, очень мало значительных ошибок.
  • Справочные ресурсы и поддержка сообщества не наравне с InstallShield, но все же хороши.
  • Мой инструмент выбора для отладки и создания прототипов (быстрый, стабильный, простой в использовании, отличные функции сравнения).
  • И что касается различий (позволяет двоичное сравнение двух файлов MSI).
    • Ни один другой инструмент, который я пробовал, не приблизился к Wise для бинарных различий различных файлов MSI.
    • Простота использования и ясность просмотра различий были не менее фантастическими.
    • Для корпоративной упаковки такие различия могут быть очень важной частью работы, поскольку у вас есть сотни или даже тысячи различных пакетов программного обеспечения для управления во многих различных версиях.
  • На субъективной ноте: мой любимый упаковочный инструмент. Очень надежный.
    • Жаль, что инструмент больше не доступен.
    • Мы всегда можем надеяться на "реинкарнацию" (я видел фрагменты GUI, которые выглядят как Wise в некоторых других инструментах).

WiX (советы по быстрому запуску)

  • Большой плюс - исходные текстовые файлы. Нет необходимости хранить исходный код в виде двоичного файла, где практически невозможно отслеживать изменения и осуществлять надлежащий контроль версий.
    • Правильные текстовые источники имеют все значение для групп разработчиков с точки зрения ветвления, управления версиями и слияния. Это качественный скачок (по моему мнению, особенно для внутренней разработки в крупных корпорациях - там, где процессы сложны, процессы быстры, а разработчиков много).
    • Необходимость и использование текстовых исходных файлов были центральными при создании инструментария WiX. Вот быстрая и неполная "история WiX" с более подробной информацией. Рекомендуется прочитать, чтобы понять основы и обоснование для WiX.
    • Некоторые инструменты развертывания, которые хранят установщик в виде двоичных файлов, могут в конечном итоге оказаться в ситуациях, когда в двоичном источнике обнаружатся загадочные проблемы, которые никогда не смогут быть должным образом отслежены.
      • Это произошло особенно после обновлений инструмента, которые также обновили формат в источнике (по любой причине).
      • Обновления часто затрагивают десятки таблиц и сотни записей, что делает невозможной задачу эффективного выявления реальной проблемы.
      • Симптомы включали такие вещи, как внезапное начало медленной сборки, внезапная медленная скорость установки, необъяснимые ошибки компиляции, даже полное повреждение файла и т.д.
      • С WiX у вас есть полная прозрачность и "худоба" для вашего источника. Это просто чище и надежнее, когда все сделано правильно, и автоматическое обновление источника возможно, но не вызовет каскадных изменений через десятки таблиц MSI. В сочетании с контролем версий изменения легко отслеживаются и (мы надеемся) понятны - никаких загадочных недокументированных материалов не добавлено.
      • Из всего сказанного следует отметить, что обновление исходных файлов с WiX 3 до WiX 4, по-видимому, не является тривиальным. Дай надежду, что это разовая ситуация. Я не уверен, почему это случилось честно, и у меня нет актуальной информации об этом.
      • Возможно, проверьте реальные новости прямо из блога Роба Меншинга: http://robmensching.com/blog/ и блога Боба Арнсона https://www.joyofsetup.com/. Прямо изо рта лошади, как это делает Интернет - иногда это прекрасный мир ;-). Ходят слухи, что они делают " черепах на всем пути ".
  • Твердый камень, очень мало значительных ошибок.
    • Для тех, кто боролся с давними, неустойчивыми, необъяснимыми ошибками в других инструментах, это находка. {Военные истории удалены}.
    • И даже лучше: проблемы на самом деле, кажется, решаются в WiX, иногда с помощью сообщества - как это подходит для набора инструментов с открытым исходным кодом. В большинстве случаев кажется, что основная команда позаботится об этом.
  • Очень многофункциональный, но иногда довольно сложный в использовании.
    • Требуется время, чтобы привыкнуть, и даже когда вы к этому привыкли, все может быть "неудобно", чтобы получить правильные результаты (особенно, если вы не используете правильно включенные вспомогательные инструменты).
    • Это помогает использовать инструмент декомпилятора dark.exe для декомпиляции существующих файлов MSI в WiX XML. Это позволяет вам изучать источник WiX, не зная заранее об этом.
    • Исключительная настраиваемость для сложных вещей, таких как IIS, COM+, SQL Server, разрешения, правила брандмауэра и т.д. "Все" возможно, но иногда бывает несколько сложным.
    • WiX эффективно " расширяет установщик Windows " новыми и очень необходимыми функциями. Это огромное преимущество для всех, кому ранее приходилось "накатывать свои" решения - часто для вещей, которые казались тривиальными (но все же очень подверженными ошибкам).
    • Сила этих расширений не может быть завышена. Вы можете избавиться от множества написанных самостоятельно сложных действий в пользу проверенных решений. При правильной поддержке отката ! (Особо пренебрегаемая особенность в установках поставщика - по моему опыту почти все из них - вызывает нечистое состояние системы после прерванных установок).
    • У меня есть личный опыт написания dll C++ с настраиваемыми действиями для общих задач с надлежащей поддержкой отката, и объем работы был ошеломляющим - особенно обеспечение качества реальной функции отката.
  • Замечательное отсутствие инструментов с графическим интерфейсом и очень мало хороших доступных образцов - особенно для WiX 4.
  • Полная интеграция в Visual Studio, с IntelliSense.
    • Очевидно, будут некоторые ограничения относительно того, какие версии Visual Studio будут поддерживаться WiX 4.
    • У меня пока нет подробностей, но вам понадобится последняя версия Visual Studio. Я думаю, что есть хорошие записи в блоге от Роба и Боба об этом.
  • Это бесплатно (!). Каждый разработчик может построить установку. Кто-то должен владеть этим, хотя (!). В самом деле ;-).
  • Это тоже с открытым исходным кодом.
  • Как вы начали? (прямая ссылка на хорошо принятый ответ - к моему удивлению).
    • Для опытных мастеров попробуйте эту статью Code Project, чтобы быстро начать создавать файлы MSI с WiX (WiX 3). Это действительно просто (если вы знаете MSI, это само собой разумеющееся).
    • Вы также можете прочитать эту статью о переполнении стека WiX для получения дополнительных советов по быстрому запуску.
    • НОВОЕ И РЕКОМЕНДУЕМОЕ: Ответ на переполнение стека, показывающий текущие минимальные изменения, необходимые для компиляции рабочего файла MSI при создании нового проекта WiX в Visual Studio: установщик WiX не устанавливает приложение Winform, созданное в Visual Studio 2017.
    • И вы можете использовать WiX dark.exe (декомпилятор MSI), чтобы декомпилировать существующий файл MSI в правильный формат WiX XML, а затем изучить, как он совмещается. Очень полезно и познавательно - особенно для продвинутых функций.
  • Текущая и будущая версии.
    • Версия 3.1 стабильна и вышла (выпущена в мае 2017 года). Рок твердый.
    • На данный момент версия 4 находится на стадии разработки (август 2017 года).
      • Не ясно, когда он будет доступен для стабильного выпуска.
      • По всей видимости, это будет очень серьезное обновление, требующее существенной доработки существующих файлов WiX для успешного использования.
      • Я не могу предоставить какие-либо подробности о том, каковы основные различия на данный момент.
      • Стабильность и надежность версии 3, без сомнения, сохранились.

Расширенный установщик

  • Я не использовал это для реального развития.
  • Очень прост в использовании, приятный графический интерфейс.
  • ОБНОВЛЕНИЕ:
    • Чрезвычайно хорошая встроенная регистрация в самом инструменте во время тестовой установки. Очень впечатляюще.
    • Также доступна для корпоративной переупаковки в своем " архитектурном издании ".
    • Функция богатая. Компилирует все виды настроек и поддерживает все новые технологии (App-X, App-V и т.д.)
    • Поддержка App-V кажется очень обширной.
    • Может импортировать ряд исходных файлов других инструментов (Installshield, Inno, Wix, Wise, NSIS, Visual Studio, Desktop Bridge и т.д.). Не проверено обширно мной.
  • Насколько я вижу, хранит проекты в проприетарном текстовом формате.
  • Кажется солидным и решительно скрывает некоторую сложность MSI через хороший графический интерфейс, который показывает интуитивно понятные флажки и опции, а не флаги и свойства стиля SDK. Это хорошая вещь, и на данном этапе она полностью отсутствует в WiX.
  • Похоже, это может быть полезно для создания прототипов и тестирования, очень сильный графический интерфейс и автоматические для часто используемых функций.
  • Я скучаю по представлению InstallShield Release с его флагами выпуска и настройками автоматизации сборки, а также другими функциями управления выпуском (которые могут быть улучшены к настоящему времени).
  • В целом надежный инструмент, который выглядит наиболее подходящим для разработчиков, ищущих простой способ развертывания своих приложений. Похож на Мудрого в этом отношении.
  • Слишком мало практического опыта, чтобы писать гораздо больше. Попробуйте это.

Другие инструменты

  • Orca - это бесплатный инструмент Windows SDK, который позволяет открывать, редактировать и в определенной степени сравнивать двоичные файлы MSI. Это также позволяет другие операции, такие как создание файлов преобразования для изменения файлов MSI и некоторые другие технические операции. Базовый инструмент, который мне всегда нравится устанавливать и использовать. Здесь есть более обширный параграф об Orca, где обсуждается его использование (посмотрите вниз). Обычно вам нужно установить Windows SDK, чтобы получить Orca (просто установите последнюю версию и найдите инструмент).
  • Мне порекомендовали бесплатный инструмент под названием " Super Orca ", как и " InstEd ". Я использовал их ненадолго, но они выглядят хорошо, и их легче достать, чем Orca (нет Windows SDK для загрузки).
  • И есть также много других инструментов. Вот список инструментов с http://www.installsite.org с указанием того, продолжает ли инструмент активно поддерживаться или нет: http://www.installsite.org/pages/en/msi/authoring.htm (с спасибо Филу Уилсону за ссылку - я не смог воскресить его ответ).
  • Я полагаю, что я также могу включить ссылку на список установки программного обеспечения в Википедии.

Рекомендации по инструменту?

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

Для любой серьезной внутренней команды разработчиков я бы предложил WiX. Там, где другие инструменты просты в использовании (что очень важно, а иногда и единственное, что важно), WiX отличается гибкостью, расширяемостью, стабильностью и использованием текстовых исходных файлов XML - со штрафом за некоторую вовлеченность в с. А благодаря бесплатной лицензии каждый разработчик может просматривать и компилировать исходный код, и изменения легко отслеживаются, отменяются или утверждаются. Управление процессом с разработчиками, которые все обновляют из одного источника WiX, все еще имеет свои проблемы (ничем не отличается от обычной работы по разработке - нет ничего легкого).

Для корпоративной переупаковки (которая, по общему признанию, немного выходит за рамки внимания разработчиков на stackoverflow.com), я предполагаю, что основными вариантами на данный момент являются Flexera AdminStudio и Advanced Installer Architect. Также доступны другие продукты, и, как всегда, installsite.org содержит подробную информацию: Инструменты: переупаковка и корпоративное развертывание.

Я думаю, что для небольших групп разработчиков, которые ищут быстрый и простой способ развертывания своих приложений, Installshield и Advanced Installer являются наиболее распространенными инструментами на основе графического интерфейса. Они предоставляют множество функций, и вы сможете быстро выполнить настройку. Как уже говорилось, иногда это единственное, что важно. Очень часто на самом деле. Тем не менее, можно вместо этого поставить отличный установщик, используя WiX - но требуется гораздо больше знаний. Есть кривая обучения, и есть некоторые серьезные ограничения - особенно в отношении GUI на данный момент - но базовая технология очень надежна и бесплатна. И, что немаловажно, есть много других инструментов (список с http://www.installsite.org), которые также могут быть более подходящими для вашей задачи - особенно если это простое приложение, которое просто нуждается в базовых функциях развертывания. Это "несправедливо", что я не предоставил больше информации об этих инструментах, которые вполне способны, но реже используются или установлены.

Я должен прояснить, что я рекомендую WiX для корпоративных команд, поставляющих собственные приложения, потому что они могут использовать гибкость, обеспечиваемую WiX, и у них также будет доступный опыт и технические навыки, чтобы справляться со сложностью WiX. И они могут обучать новых парней, когда это необходимо. Очень важный вопрос. Изучать WiX нетривиально, если вы уже не обладаете достаточными знаниями об установщике Windows - тогда это не сложная задача, но она все равно требует времени, потому что она настолько гибкая и из-за отсутствия лучшего слова: "неудобно" - это как настоящий развитие, вы получили реальный контроль, но должны быть точными. Однажды настроить источник WiX может быть мечтой, чтобы иметь дело с - вы знаете, что происходит.

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

Напоследок предостережение: Advanced Installer, InstallShield и мудрый обычно разрешают упаковывать программное обеспечение для виртуализации. Я не знаю никаких функций в WiX для этого на данный момент. Пожалуйста, добавьте комментарии или просто отредактируйте этот пост, если у вас есть информация здесь.


Главный практический совет:

Я обычно использую другие инструменты для прототипирования и WiX для реализации, если у меня есть выбор. Вы можете использовать WiX dark.exe (декомпилятор MSI) для декомпиляции существующего файла MSI. Иногда я реализую что-то в Wise или InstallShield, компилирую MSI и декомпилирую это в формат WiX. Затем я поднимаю разметку WiX и выгружаю в свой основной файл WiX. Работает отлично и обычно очень быстро. Это в сочетании с утилитой heat.exe для автоматического создания компонентов позволило мне упаковать огромный веб-сайт IIS менее чем за 10 минут после некоторых пробных запусков. После этого у меня есть полная настраиваемость, предоставляемая WiX, с простотой использования других инструментов.

Очистка декомпилированного источника - это не пикник, но это и не ракетостроение. Нужны некоторые знания MSI, и вы некоторое время будете "возиться". Имейте в виду, что загрузка пробных версий коммерческих инструментов для создания и декомпиляции файла MSI не рекомендуется. Получающиеся файлы MSI обычно имеют водяные знаки с функциями, которые трудно удалить.


Некоторые ссылки:

Ответ 2

Насколько хорош WiX для не-.NET?

WiX поддерживает все функции Windows Installer по дизайну. Установщик Windows предшествует .NET.

Лично я предпочитаю WiX поверх InstallShield, потому что

  • текстовый формат XML позволяет просматривать коммит, слияние изменений между ветки
  • автоматизация сборки должна включать настройку поколение, которое легко с WiX
  • Файлы wixlib с группой компонентов определения позволяют использовать модульную настройку Развитие. Не нужно беспокоиться о зависимости зависимостей, и др.
  • нет проблем с лицензированием или развертыванием, мы просто включаем набор инструментов WiX в a/tools наших проектов в SVN

Когда мы использовали InstallShield, это были все точки боли. Однако WiX имеет очень крутую кривую обучения.

Ответ 3

Вы должны проверить бесплатную настройку Inno: в течение долгого времени я использую его, он никогда не разочаровывал меня!

Ответ 4

Я не использовал InstallShield через несколько лет. На моей последней работе мы отошли от него к NSIS главным образом потому, что его двоичный формат затруднял управление версиями, и поскольку несколько раз исходный файл просто искажался, без надежды на восстановление. Это, возможно, было связано с SourceSafe, конечно!

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

В NSIS есть отличная система плагинов, и вы можете запрограммировать ее с помощью плагина LogicLib, файлы автоматической деинсталляции и многое другое.

Ответ 5

Я унаследовал несколько проектов InstallShield (v12). Все файлы - это текст /XML и, следовательно, проблемы с управлением версиями отсутствуют. У нас есть машина для сборки, в которой используются инструменты командной строки, которые хорошо работают. Мне не нравится: (a) стоимость места для разработчиков и (b) ошибки.

Inno Setup очень способна/гибка и существует, как правило, несколько способов достижения цели, что привело к крутой кривой обучения. Мы имеем несколько версий за их последней версией (из-за их структуры затрат на обновление). Поскольку наши продукты работают на Вдове, если мы должны переключиться, я могу сначала исследовать решение для установки Microsoft, которое поставляется с подпиской MSDN.