Подходят ли проекты установки Visual Studio для сложных настроек?

StackOverflow https://stackoverflow.com/questions/2482833

Вопрос

Подходят ли проекты "Visual Studio Setup" для сложных настроек в разных версиях?

Приложение довольно большое (> 500 000 строк кода) и находится в постоянной разработке.Каждые 6-10 месяцев выходит новая версия.У нас есть несколько файлов конфигурации (INI и XML), разделы реестра, сценарии миграции базы данных и т.д.Приложение находится в процессе переноса с Visual Basic 6.0 в .NET.Старый установщик был собран с Установочный экран.Обратная связь с Установочный экран является:Плохая адаптивность, плохое повторное использование - вот почему мы оцениваем "Visual Studio Setup" в качестве альтернативы.

Другие продукты, которые мы рассматриваем:

Бесплатные решения

Коммерческие решения

Решения, которые нам не нравится рассматривать:

Это было полезно?

Решение

Нет, нет, нет и еще раз нет проектам развертывания Visual Studio.Я был там в "больших" проектах (15 000 файлов с тысячами модулей слияния и сотнями пользовательских действий InstallUtil, потому что VDPROJ почти ничего не предоставляет из базового MSI, такого как создание служб).Я мог бы часами рассказывать о том, как это ужасно на самом деле.

У меня есть команда из четырех разработчиков установки, и мы используем сочетание Викс и Установочный экран.Наша типичная установка содержит почти 100 функций, 800 модулей слияния и 15 000 файлов.Мы развертываем практически все типы ресурсов, которые вы можете себе представить, включая объединение установок сторонних производителей для создания готовых продуктов или систем.Мы можем сделать это для более чем дюжины продуктов, каждый из которых состоит из нескольких ветвей интеграции, выпуска и обслуживания.Мы вчетвером поддерживаем организацию из более чем 400 человек и около 250 разработчиков.

Мы можем сделать это, потому что InstallShield действительно может предоставить вам достаточное количество возможностей повторного использования.Вы используете конфигурации продукта и функциональные возможности / модули объединения для создания инкапсуляции групп файлов и бизнес-логики.Тем не менее, WiX справляется с работой лучше (хотя гораздо сложнее в освоении и там есть дыры, для которых нам все еще нужен InstallShield), поэтому мы постепенно переносим нашу базовую версию на WiX, где это возможно.

Другие советы

Не ходи туда!!Мы думали, что это выполнимо для нескольких простых установщиков, но это оказалось сущим кошмаром...На первый взгляд проекты VS setup выглядят нормально, но вскоре вы осознаете различные недостатки - это означает, что вам придется написать кучу пользовательского кода действий для выполнения только простейших задач (например, обработка сервиса и установка в четко определенные специальные каталоги, которые просто недоступны из "приятного" графического интерфейса проекта setup).

Вы можете использовать только некоторые очень простые формы для получения пользовательского ввода (например, ввод пароля невозможен).Автоматическое увеличение номеров версий установщика отсутствует.Обработка файлов ужасна - вам приходится вручную выбирать каждый файл.То есть вы не можете просто сказать "установите все файлы из этого каталога в тот каталог" - фантастическая задача сидеть и вручную сканировать новые файлы в каталоге с сотнями файлов.

Нет, выбирайте WiX, хотя кривая обучения может показаться немного хуже, чем у установщиков VS, но я много раз сожалел, что мы этого не сделали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top