Pull to refresh

Comments 29

Буду знать, спасибо. Почему-то я думал что такие вещи делаются без Visual Studio, каким-нибудь сторонним софтом :)
В данном случае Visual Studio используется всего лишь как оболочка.

Создавать дистрибутивы с помощью WiX можно и, например, с помощью SharpDeveloper. Он, кстати, дает немного больше визуальности. Например, на стадии создания проекта можно выбрать набор UI. В нем есть встроенный редактор диалогов (в отличие от Visual Studio).
Да, не очень то удобно с VS. По мне лучше использовать InnoSetup, освоить его имхо легче)
Удобная штука, сами пользуемся. Из за того, что сам WiX проект инсталлятора идет в XML, он легко поддается автоматизации и сопровождению, удобно хранить в SVN. И сам инсталлер MSI довольно гибок. Первоначальная установка, сервис паки, автоматическое удаление.
Да, и для того что бы быстрее разобраться с виксом, можно воспользоватся программой WiXAware, она платная, но есть триал. Там через GUI можно подсмотреть многие заморочки WiX формата.
А есть опенсорсный аналог, тоже с возможностью визуального редактирования диалогов и логическим упорядочиванием всех сущностей WiX'а.
К сожалению, в ней нет таких средств автоматизации типичных задач вроде регистрации ODBC, установки источников данных, как в WiXAware.

wixedit.sourceforge.net/

Небольшой комментарий по использованию:
у программы есть багофича — программа ищет директорию с 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.
NSIS адже близко не стоял по функциональности к WiX (MSI), хотя и у него есть определенные преимущества — он проще в освоении.
И чего же Wix умеет такого волшебного?
например, что бы сертифицировать программу в майкрософт, она должна устанавливаться только с помощью MSI. а NSIS (да, проще и приятнее) с MSI не работает.
Товарищи, давайте не будем спорить о том, что лучше, а что хуже. Условия задачи опеределяют выбор инструмента. Лично сам я использую и NSIS и WiX.
Прошу прощенья за офтоп, а что дает данная сертификация?
она дает вам лэйбачок «Certified for» — www.windowsservercert.com/
иногда это очень помогает в продвижении продукта.
Да, увы порой это так. Для моего предыдущего начальника этой лейбочки хватило, для выбора ERP.
да, путаница бывает.
эта лейбочка говорит о том, что продукт прошел программу тестов на предмет корректной работы в ОС. но совсем не говорит о ее пригодности, качетсве, функциональности и проч.
Орка — это способ залезть ручкам в базу MSI, после этих изменений очень уж тяжело отлаживаться. Уже проходили. Лучше пользоваться более высокоуровневыми, например тем же виксом.
Orca может пригодится для создания трансформаций. О которых мы еще поговорим.
Пригодиться то она может, но зачем?
Для создания трансформаций есть готовые скрипты (их можно использовать из msbuild для автоматизации):
Windows Installer scripting Examples
msdn.microsoft.com/en-us/library/aa372865(VS.85).aspx
Не совсем понял один момент: какая версия windows installer должна стоят на клиенте, чтобы он мог работать с получившимся инсталлятором?
Версия указывается в ключе Package. В примере указана версия InstallerVersion=«200»
опять xml! ну, прям, жить без него не могут!
Консольный билдер у него есть?
Так чтоб ему подсунуть файл проекта, а он выдал готовый exe или ошибку.
Вот хорошая статья в эту тему:
Автоматизация создания версий с помощью MSBuild и Windows Installer XML (WiX)
msdn.microsoft.com/ru-ru/magazine/cc163456.aspx

Мы так и делали, запускали скрипт MSBuild для сборки сетапов.
Поработал в свое время с InstallShield. Приходилось много работать напильником — в том плане, что не всегда все дается стандартными средствами.
Расскажите в следующей статье как создать свой собственный диалог выбора файла =)
Спасибо! Хороший материал, а я давно уже большой поклонник WiX…
Only those users with full accounts are able to leave comments. Log in, please.