Как я могу остановить завершение cl.exe, когда пользователь выходит из системы? - PullRequest
1 голос
/ 29 января 2009

У нас есть автоматизированный сервер сборки, который производит сборки с использованием Visual Studio 2005 и CruiseControl.NET (в Windows XP x64). Обычно никто не входит в систему, но иногда нам необходимо войти через удаленный рабочий стол, чтобы выполнить обслуживание.

Мы заметили, что если cl.exe работает (компилятор Microsoft C ++) в момент выхода из удаленного рабочего стола, то cl.exe завершится с ошибкой 4:

Проект: ошибка PRJ0002: Результат ошибки 4 возвращается из «C: \ Program Files (x86) \ Microsoft Visual Studio 8 \ VC \ bin \ cl.exe».

Это, очевидно, вызывает сбой текущей сборки с довольно загадочным сообщением. Кто-нибудь знает, как этого избежать?

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

Примечание: я наткнулся на этот вопрос, когда искал, что на самом деле означает error PRJ0002 : Error result 4 returned from ... cl.exe.

Могу дать следующую информацию:

Это произошло со мной в 32-разрядном тестовом окне Windows XP для нашей автоматической сборки, и запуск сборки определенно выполнялся под учетной записью , отличной от , чем у пользователя, с которым я вышел из системы.

Однако я знаю , что на наших серверах производственной сборки при выходе из системы нет проблем, но на этих серверах работают Win 2003 Server и Win 2008R2 Server соответственно. (Там у меня проблема только в том случае, если тот же самый пользователь , который использовал для запуска сборки, выходит из системы, но мы можем легко избежать этого.)

Так что я бы подозревал , что эта проблема возникнет не на Windows Server ОС, а только на Win XP. (Не могу высказать свое мнение о Win7.)

0 голосов
/ 29 января 2009

Вы пытались запустить службу ccnet под другой учетной записью, не являющейся администратором?

...