Installshield или [закрытый] Wix

19
задан Ajay 17 April 2017 в 11:17
поделиться

4 ответа

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

По Wix нет книг, так что ваши ресурсы ограничены учебником Wix, который подробен и длинен, но все же не охватывает ничего сверх основ, и сообщениями в блогах, которые вы найдете через Google. Конечно, в блогах есть много хороших постов, в которых подробно описано, как выполнить конкретные задачи, но если у вас нет сроков, вы, вероятно, не можете позволить себе сидеть и изучать, как сделать конкретные вещи в Wix, несколько дней подряд. Лично я обнаружил, что делаю это слишком часто, чтобы Wix был приемлемым решением (опять же, если вам не нужен только простой инсталлятор)

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

Еще одним большим плюсом для меня было то, что InstallShield облегчает работу с несколькими экземплярами (попробуйте поискать, как это сделать с Wix, и вы поймете, о чем я говорю) и обновление/патчи. С InstallShield я смог выполнить обе эти задачи (особенно несколько экземпляров) за долю времени по сравнению с Wix.

Мой совет - выбирайте, исходя из ограничений по времени/срокам/обязательствам, сложности программы установки и зрелости продукта. Wix требует много исследований для того, что InstallShield делает довольно быстро. Это может быть еще более болезненным, если у вас зрелый продукт по сравнению с довольно молодым.

Надеюсь, это поможет.

18
ответ дан 30 November 2019 в 02:10
поделиться

Создав установщик Wix, который сделает именно то, что вы хотите, я с радостью порекомендую его.

Я вижу преимущества Wix перед InstallShield:

  1. Поскольку Wix является бесплатным, каждый в вашей команде может установить его, и, таким образом, каждый может внести свой вклад в программу установки. Если один разработчик добавляет в проект библиотеку, он может соответствующим образом обновить программу установки, не дожидаясь, пока «установщик» внесет свою лепту.
  2. Нет проблем с установкой Wix на Build Server, что делает его подходящим для среды, в которой вы используете непрерывную интеграцию. Он прекрасно интегрируется с MSBuild (см. Проект Votive).
  3. Установщики Wix состоят из текстовых файлов, что упрощает управление версиями.
  4. Wix включает Deployment Tools Foundation (DTF), которое упрощает создание настраиваемых действий с использованием кода .Net.
  5. Wix близок к металлу: обычно вы можете применить свои знания об установщике Windows непосредственно к Wix. И наоборот, изучение Wix многому научит вас об установщике Windows, который всегда хорош, когда дело доходит до поддержки развертывания.

Чтобы сбалансировать это, нужно знать несколько вещей:

  1. У Wix действительно крутая кривая обучения. Если вы еще этого не сделали, ознакомьтесь с руководством WiX .
  2. WiX не является «визуальной» средой, как InstallShield - это обычно текст и xml полностью. При этом есть редакторы, бесплатные и коммерческие .
  3. В частности, в отношении настроек IIS: Wix 3.0 работает только с API метабазы ​​IIS 6. Для установки на IIS 7 вам необходимо включить функцию совместимости метабазы ​​ на целевом сервере. Полная поддержка IIS 7 входит в Wix 3.5 - я пробовал бета-версию этого, и, похоже, пока он работает нормально.
25
ответ дан 30 November 2019 в 02:10
поделиться

Чтобы ответить на вопросы Сэмюэля выше ....

  1. Я создал проект на CodePlex, который называется IsWiX и направлен на решение проблемы демократизации. Вы используете его с WiX для создания модулей слияния, а затем используете модули слияния с InstallShield, чтобы получить лучшее из обоих миров. Это позволяет установщику использовать InstallShield, а десяткам моих разработчиков - IsWiX / WiX. XML по-прежнему может быть размечен дополнительными метаданными, поэтому мы не ограничены в том, что могут описывать модули.

  2. InstallShield имеет автономный механизм сборки, который интегрируется с MSBuild / TFS и предоставляет интерфейс автоматизации. Здесь нет преимущества WiX.

  3. InstallShield также является текстовым файлом. Это более уродливый формат DTD, но IsWiX решает эту проблему, абстрагируя часто меняющиеся части от редко меняющейся части установщика.

  4. Я настоятельно рекомендую использовать DTF с InstallShield. В конце концов, экспортируемая функция типа 1 аналогична любому инструменту на основе MSI.

  5. InstallShield имеет прямой редактор, который показывает вам лежащие в основе таблицы. Это на самом деле ближе к металлу, чем WiX, который использует DSL на основе XSD для вывода металла. В целом, WiX И InstallShield действительно хороши, и я использую их вместе для создания чрезвычайно сложных установщиков.

PS-IsWiX много подумал о хешировании и сортировке для решения проблем слияния веток. (Мы используем Base Clearcase на десятках ветвей, поэтому это было очень важно для нас.)

12
ответ дан 30 November 2019 в 02:10
поделиться

+1 к ответу Самуэля. Что касается крутой кривой обучения... если вы не понимаете, как работает базовая технология (Windows Installer), у вас будут проблемы с поддержкой вашей установки, будь то InstallShield или WiX, который вы выберете. Но WiX поощряет вас изучать Windows Installer, чтобы правильно использовать абстракции WiX.

Лично я начинал свой проект установки (огромное веб-приложение) с InstallShield, но недавно перешел на WiX и доволен этим. Ключевые моменты моего выбора:

  • он бесплатный
  • он XML (больше никаких мучений с диффирингом и слиянием)
  • он дружелюбен к NAnt
  • он делает именно то, что вы ему поручаете (не больше и не меньше)

Надеюсь, вы найдете эту информацию полезной.

8
ответ дан 30 November 2019 в 02:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: