Я думаю, что большинство людей здесь понимают важность полностью автоматизированных сборок.
Проблема в том, что один из наших проектов сейчас использует интегрированный проект установки Visual Studio (vdproj) и недавно был перенесен в Visual Studio 2008. К сожалению, они не будут встроены в MSBuild, а вызов devenv.exe / build 2008 просто завершится сбоем, по-видимому, это происходит на всех многоядерных компьютерах (!!!). Так что теперь у меня есть выбор: откатиться на .Net 2.0 и 2005 или просто отказаться от развертывания Visual Studio, но сначала я хотел бы получить второе мнение.
Кто-нибудь знает другой автоматизированный способ создания .vdproj, который не потребует от нас открытия IDE и щелчка мышью?
WiX был тем, что я имел в виду, когда говорил, что мы откажемся от vdproj. Есть ли у вас опыт, хорошие вещи, предостережение?
Недорогое решение - перейти на использование ClickOnce, которое можно автоматизировать с помощью MSBuild. Но если вам все еще нужно создать пакет установщика Windows, вам нужно будет преобразовать ваш проект в WiX (довольно прямо) и собрать его с помощью вашего решения.
Это поможет вам начать: автоматизировать выпуски с помощью MSBuild и Windows Installer XML
Я немного раньше использовал WiX, и в целом я обнаружил, что замечательно, когда вы понимаете, что делать, но есть крутая кривая обучения. Если вы потратите целый день на изучение учебника по WiX, вы сможете получить 80% своей работы.
У меня было такое же требование, и я использовал то, что предлагается в этих двух ссылках
По сути, поскольку Team Build сама по себе не будет создавать проекты установки для вас, этот подход предусматривает добавление нового этапа сборки после завершения обычной сборки. Этот шаг запускает вторую сборку, запуская devenv.exe. IDE создаст ваши установочные файлы. Дополнительная сборка немного дорогостоящая, но она нужна нам только для тех сборок, которые собираются выпустить. Максимальная ежедневная сборка потребует такой настройки, что наша сборка CI не требует каждый раз создавать файлы установки.
После этого вы выполняете некоторые команды копирования, еще раз соберите шаги, которые отображаются в результатах вашей сборки Team System, переместите установочные файлы в общий сетевой ресурс и т. Д.
Сначала это выглядит как клуге, но это работает, это также полноценная часть автоматизированной сборки в Team System, поэтому она работала для моих целей непрерывной интеграции.