Подходят ли проекты установки Visual Studio для сложных установок?
Подходят ли проекты "Visual Studio Setup" для сложных установок в разных версиях?
Приложение довольно большое (> 500000 строк кода) и находится в постоянном развитии. Каждые 6-10 месяцев выходит новая версия. У нас есть несколько файлов конфигурации (INI и XML), разделы реестра, сценарии переноса базы данных и т. Д. Приложение находится в процессе перехода с Visual Basic 6.0 на.NET. Старый установщик был собран с помощью Installshield. Обратная связь с Installshield: плохая адаптивность, плохое повторное использование - вот почему мы оцениваем "Visual Studio Setup" как альтернативу.
Другие продукты, которые мы рассматриваем:
Бесплатные решения
Коммерческие решения
- Установить щит (снова...)
- мудрый
- Расширенный установщик
- Чего-то не хватает?
Решения, которые мы не любим рассматривать:
- Inno Setup (это просто не правильно)
2 ответа
Нет, нет, нет и нет для проектов развертывания Visual Studio. Я был там на "больших" проектах (15 000 файлов с тысячами модулей слияния и сотни пользовательских действий InstallUtil, потому что VDPROJ практически не раскрывает основополагающий MSI, такой как создание сервисов). Я мог бы часами рассказывать о том, как это ужасно.
У меня есть команда из четырех разработчиков, и мы используем сочетание WiX и InstallShield. Наша типичная установка имеет около 100 функций, 800 модулей слияния и 15 000 файлов. Мы внедряем практически все типы ресурсов, которые вы можете себе представить, включая цепочки сторонних установок для создания готовых продуктов или систем. Мы можем сделать это для более чем дюжины продуктов, каждый из которых состоит из нескольких веток интеграции, выпуска и обслуживания. Четверо из нас поддерживают организацию из более чем 400 человек и около 250 разработчиков.
Мы можем сделать это, потому что InstallShield действительно может дать вам достаточное количество повторного использования. Вы используете конфигурации продукта и функции / модули слияния для создания инкапсуляций групп файлов и бизнес-логики. Тем не менее, WiX работает лучше (хотя гораздо сложнее учиться и есть дыры здесь и там, для которых нам все еще нужен InstallShield), поэтому мы постепенно переводили нашу базовую линию на WiX, где это возможно.
Не ходи туда!! Мы думали, что это выполнимо для нескольких простых установщиков, но это оказалось кошмаром... На первый взгляд, проекты установки VS выглядят хорошо, но вскоре вы поймете различные недостатки - то есть вы напишете набор пользовательских кодов действий для выполнения простейших задач (например, обработка сервисов и установка в четко определенные специальные каталоги, которые просто недоступны из "приятного" графического интерфейса проекта установки).
Вы можете использовать только некоторые базовые формы для получения пользовательского ввода (например, ввод пароля невозможен). Нет автоматического увеличения номера версии установщика. Обработка файлов ужасна - вы должны вручную выбрать каждый файл. То есть вы не можете просто сказать "установить все файлы в этом каталоге в этот каталог" - фантастическая задача сидеть и вручную сканировать новые файлы в каталоге с сотнями файлов.
Нет, переходите на WiX, хотя кривая обучения может показаться немного хуже, чем для установщиков VS - но я много раз сожалел о том, что мы этого не сделали.