Исходя из моего опыта работы с Wix и InstallShield, я бы рекомендовал использовать InstallShield, если только вам не нужен довольно простой и понятный инсталлятор. Я говорю это потому, что огромная кривая обучения Wix становится еще сложнее из-за недостатка информации
По Wix нет книг, так что ваши ресурсы ограничены учебником Wix, который подробен и длинен, но все же не охватывает ничего сверх основ, и сообщениями в блогах, которые вы найдете через Google. Конечно, в блогах есть много хороших постов, в которых подробно описано, как выполнить конкретные задачи, но если у вас нет сроков, вы, вероятно, не можете позволить себе сидеть и изучать, как сделать конкретные вещи в Wix, несколько дней подряд. Лично я обнаружил, что делаю это слишком часто, чтобы Wix был приемлемым решением (опять же, если вам не нужен только простой инсталлятор)
В конечном итоге, в моем случае, у нас были существующие инсталляторы, разработанные с помощью InstallShield, и мы просто смогли работать быстрее с его помощью. InstallShield также имеет свой собственный язык сценариев, по которому есть довольно хорошая документация.
Еще одним большим плюсом для меня было то, что InstallShield облегчает работу с несколькими экземплярами (попробуйте поискать, как это сделать с Wix, и вы поймете, о чем я говорю) и обновление/патчи. С InstallShield я смог выполнить обе эти задачи (особенно несколько экземпляров) за долю времени по сравнению с Wix.
Мой совет - выбирайте, исходя из ограничений по времени/срокам/обязательствам, сложности программы установки и зрелости продукта. Wix требует много исследований для того, что InstallShield делает довольно быстро. Это может быть еще более болезненным, если у вас зрелый продукт по сравнению с довольно молодым.
Надеюсь, это поможет.
Создав установщик Wix, который сделает именно то, что вы хотите, я с радостью порекомендую его.
Я вижу преимущества Wix перед InstallShield:
Чтобы сбалансировать это, нужно знать несколько вещей:
Чтобы ответить на вопросы Сэмюэля выше ....
Я создал проект на CodePlex, который называется IsWiX и направлен на решение проблемы демократизации. Вы используете его с WiX для создания модулей слияния, а затем используете модули слияния с InstallShield, чтобы получить лучшее из обоих миров. Это позволяет установщику использовать InstallShield, а десяткам моих разработчиков - IsWiX / WiX. XML по-прежнему может быть размечен дополнительными метаданными, поэтому мы не ограничены в том, что могут описывать модули.
InstallShield имеет автономный механизм сборки, который интегрируется с MSBuild / TFS и предоставляет интерфейс автоматизации. Здесь нет преимущества WiX.
InstallShield также является текстовым файлом. Это более уродливый формат DTD, но IsWiX решает эту проблему, абстрагируя часто меняющиеся части от редко меняющейся части установщика.
Я настоятельно рекомендую использовать DTF с InstallShield. В конце концов, экспортируемая функция типа 1 аналогична любому инструменту на основе MSI.
InstallShield имеет прямой редактор, который показывает вам лежащие в основе таблицы. Это на самом деле ближе к металлу, чем WiX, который использует DSL на основе XSD для вывода металла. В целом, WiX И InstallShield действительно хороши, и я использую их вместе для создания чрезвычайно сложных установщиков.
PS-IsWiX много подумал о хешировании и сортировке для решения проблем слияния веток. (Мы используем Base Clearcase на десятках ветвей, поэтому это было очень важно для нас.)
+1 к ответу Самуэля. Что касается крутой кривой обучения... если вы не понимаете, как работает базовая технология (Windows Installer), у вас будут проблемы с поддержкой вашей установки, будь то InstallShield или WiX, который вы выберете. Но WiX поощряет вас изучать Windows Installer, чтобы правильно использовать абстракции WiX.
Лично я начинал свой проект установки (огромное веб-приложение) с InstallShield, но недавно перешел на WiX и доволен этим. Ключевые моменты моего выбора:
Надеюсь, вы найдете эту информацию полезной.