Скрипт автоматического выпуска и проекты установки Visual Studio

Я думаю, что большинство людей здесь понимают важность полностью автоматизированных сборок.

Проблема в том, что один из наших проектов сейчас использует интегрированный проект установки Visual Studio (vdproj) и недавно был перенесен в Visual Studio 2008. К сожалению, они не будут встроены в MSBuild, а вызов devenv.exe / build 2008 просто завершится сбоем, по-видимому, это происходит на всех многоядерных компьютерах (!!!). Так что теперь у меня есть выбор: откатиться на .Net 2.0 и 2005 или просто отказаться от развертывания Visual Studio, но сначала я хотел бы получить второе мнение.

Кто-нибудь знает другой автоматизированный способ создания .vdproj, который не потребует от нас открытия IDE и щелчка мышью?


WiX был тем, что я имел в виду, когда говорил, что мы откажемся от vdproj. Есть ли у вас опыт, хорошие вещи, предостережение?

6.08.2008 19:04:51
3 ОТВЕТА
РЕШЕНИЕ

Недорогое решение - перейти на использование ClickOnce, которое можно автоматизировать с помощью MSBuild. Но если вам все еще нужно создать пакет установщика Windows, вам нужно будет преобразовать ваш проект в WiX (довольно прямо) и собрать его с помощью вашего решения.

Это поможет вам начать: автоматизировать выпуски с помощью MSBuild и Windows Installer XML

6
6.08.2008 20:25:24

Я немного раньше использовал WiX, и в целом я обнаружил, что замечательно, когда вы понимаете, что делать, но есть крутая кривая обучения. Если вы потратите целый день на изучение учебника по WiX, вы сможете получить 80% своей работы.

WiX Toolset Tutorial

3
14.03.2019 09:04:22

У меня было такое же требование, и я использовал то, что предлагается в этих двух ссылках

Блог Дэвида Уильямса

Статья MSDN

По сути, поскольку Team Build сама по себе не будет создавать проекты установки для вас, этот подход предусматривает добавление нового этапа сборки после завершения обычной сборки. Этот шаг запускает вторую сборку, запуская devenv.exe. IDE создаст ваши установочные файлы. Дополнительная сборка немного дорогостоящая, но она нужна нам только для тех сборок, которые собираются выпустить. Максимальная ежедневная сборка потребует такой настройки, что наша сборка CI не требует каждый раз создавать файлы установки.

После этого вы выполняете некоторые команды копирования, еще раз соберите шаги, которые отображаются в результатах вашей сборки Team System, переместите установочные файлы в общий сетевой ресурс и т. Д.

Сначала это выглядит как клуге, но это работает, это также полноценная часть автоматизированной сборки в Team System, поэтому она работала для моих целей непрерывной интеграции.

1
26.08.2009 20:28:27