Мы запускаем TeamCity. Я установил BuildAgent в Windows, где он запускается как служба. Вместо того, чтобы запускать его под учетной записью локальной системы, я решил запустить его как выделенный пользователь. Этот компьютер использовался для создания наших решений в прошлом, и все необходимые инструменты уже установлены и доступны этому пользователю.
Большая часть сборки и тестирования работает нормально. Но у меня есть несколько шагов до и после сборки, выполняющих административную работу. В этих шагах используются внешние команды, такие как attrib и xcopy (как обычно, расположенные в System32). Они не могут быть выполнены BuildAgent при запуске с выделенным пользователем. Если я добавлю к этим командам полный путь к System32, они тоже будут хорошо работать. Так что очевидно, что это проблема окружающей среды.
При запуске с учетной записью локальной системы эти шаги выполняются, как и ожидалось. (Есть и другие причины не использовать учетную запись локальной системы, так что, к сожалению, это не решение.)
Резервный вариант, запускающий BuildAgent из консоли, также работает нормально. Но поскольку также можно запускать BuildAgent как службу при использовании учетной записи локальной системы, я ищу способ изменить выделенного пользователя (права или среду), чтобы он мог запускать BuildAgent как службу.
Что мне не хватает?