Сборка проекта RAD Studio 2010 с использованием MSBuild работает нормально, когда я собираю его локально. Подпроекты, которые создают файлы BPL , попадают в C: \ Users \ Public \ Documents \ RAD Studio \ 7.0 , как и положено, поскольку никакой другой выходной каталог не установлен.
При сборке с использованием TeamCity все развалилось. Жалоба не смогла найти BPL файлов, сгенерированных подпроектами. Глядя в каталог, где он должен в конечном итоге ничего не было создано там. Вместо этого файлы BPL оказались в каталоге проектов.
После того, как я почесал голову, проверил переменные окружения и т. Д. И все BDSCOMMONDIR и аналогичные переменные были заданы и т. Д., Я понял, что агент компоновки TeamCity работал под учетной записью SYSTEM . Я открыл командную строку как учетная запись SYSTEM , используя
PsExec.exe -i -s cmd.exe
Я снова проверил переменные окружения, все они существовали для учетной записи. Начал сборку локально как SYSTEM и та же проблема. Файлы BPL в каталоге проектов вместо папки по умолчанию, последующие проекты не находят файлы BPL , так как они выглядят в расположении по умолчанию, сборка не удалась.
Но почему?
Используя другого пользователя, он прекрасно компилирует и запускает агент сборки TeamCity, поскольку этот пользователь позволяет TeamCity правильно завершить сборку.