Какие права требуются для автоматизации DevEnv.exe для создания сайта - PullRequest
1 голос
/ 08 августа 2011

Среда: TeamCity 6.5.1 на Win2k3, BuildAgent (ы) на Win2k3, Visual Studio 2k10, .NET v4, Nant 0,91

Я завершаю настройку TeamCity и пытаюсь заблокироватьУчетная запись BuildAgent на компьютере (ах) сборки в соответствии с нашими правилами безопасности.Сборка дает сбой при первом вызове «devenv.exe / build» с помощью сценария Nant:

Неисправное приложение devenv.exe, версия 10.0.30319.1, штамп 4ba1fab3, сбойный модуль msenv.dll,версия 10.0.30319.1, штамп 4ba1fd94, отладка?0, адрес ошибки 0x0000c36b.

Мне не повезло, гуглив это сообщение.Однако если я изменю службу BuildAgent с учетной записи локальной сети на учетную запись администратора, все будет работать.Однако, если я использую другую учетную запись домена, это не удается.Также происходит сбой, если я добавляю эту учетную запись домена в локальную группу администраторов.

Есть идеи о том, что мне не хватает?Есть ли какая-то особая привилегия, которую вам нужно иметь, чтобы "DevEnv / build" работал без сбоев?

1 Ответ

1 голос
/ 08 августа 2011

Фу, я только что прошел через это недавно.Во-первых, используйте devenv.com, а не devenv.exe.Устройство devenv с расширением com может создать решение и отправить весь вывод на консоль без использования графического интерфейса.Поскольку агент TeamCity является службой, ему вообще нельзя разрешать взаимодействовать с графическим интерфейсом.

Во-вторых, и я понимаю, что это может оказаться невозможным для вас (особенно если вы создаете MSI),но подумайте о том, чтобы делать все, что вам нужно, чтобы использовать встроенный в Visual Studio runner, который поставляется с TeamCity.Он использует MSBuild для своей работы.Если вы идете по этому пути и вам все еще нужен devenv, то найдите MSBuild Extensions Pack , который уже решил многие из этих проблем с помощью своей собственной задачи сборки devenv.

Честно говоря, я закончил тем, что заменял проекты установки Microsoft альтернативами (InstallShield или WiX), и никогда не оглядывался назад.

...