В данном случае Visual Studio используется всего лишь как оболочка.
Создавать дистрибутивы с помощью WiX можно и, например, с помощью SharpDeveloper. Он, кстати, дает немного больше визуальности. Например, на стадии создания проекта можно выбрать набор UI. В нем есть встроенный редактор диалогов (в отличие от Visual Studio).
Удобная штука, сами пользуемся. Из за того, что сам WiX проект инсталлятора идет в XML, он легко поддается автоматизации и сопровождению, удобно хранить в SVN. И сам инсталлер MSI довольно гибок. Первоначальная установка, сервис паки, автоматическое удаление.
Да, и для того что бы быстрее разобраться с виксом, можно воспользоватся программой WiXAware, она платная, но есть триал. Там через GUI можно подсмотреть многие заморочки WiX формата.
А есть опенсорсный аналог, тоже с возможностью визуального редактирования диалогов и логическим упорядочиванием всех сущностей WiX'а.
К сожалению, в ней нет таких средств автоматизации типичных задач вроде регистрации ODBC, установки источников данных, как в WiXAware.
Небольшой комментарий по использованию:
у программы есть багофича — программа ищет директорию с xsd-файлами WiX'а в папке C:\Program Files\Windows Installer XML v3\bin\doc — а в WiX они хранятся на одном уровне с папкой bin. Нужно просто скопировать папку doc вовнутрь bin.
Спасибо за статью, достаточно подробно описан процесс.
Пользовался как-то WiX-ом. Он, конечно, придает гибкости по сравнению с простыми инсталяционными проектами в VS, но иногда его оказывается недостаточно. В итоге я остановился на NSIS (http://nsis.sourceforge.net/Main_Page).
Вот еще один полезный тул при создании инсталяционных пакетов: Orca.exe.
например, что бы сертифицировать программу в майкрософт, она должна устанавливаться только с помощью MSI. а NSIS (да, проще и приятнее) с MSI не работает.
да, путаница бывает.
эта лейбочка говорит о том, что продукт прошел программу тестов на предмет корректной работы в ОС. но совсем не говорит о ее пригодности, качетсве, функциональности и проч.
Орка — это способ залезть ручкам в базу MSI, после этих изменений очень уж тяжело отлаживаться. Уже проходили. Лучше пользоваться более высокоуровневыми, например тем же виксом.
Пригодиться то она может, но зачем?
Для создания трансформаций есть готовые скрипты (их можно использовать из msbuild для автоматизации):
Windows Installer scripting Examples msdn.microsoft.com/en-us/library/aa372865(VS.85).aspx
Поработал в свое время с InstallShield. Приходилось много работать напильником — в том плане, что не всегда все дается стандартными средствами.
Расскажите в следующей статье как создать свой собственный диалог выбора файла =)
Создание инсталлятора с помощью WiX