I spent a couple of days this week configuring NAnt and Cruise Control to build one of my projects. It's all running on my dev box, until I can find a server to run it on. Not ideal, I know.
I configured Cruise Control while running the ccnet.exe utility which handily outputs to a command window.
When I switched to using the Cruise Control Service proper (ccservice.exe), running under a user id with all the necessary permissions to access my VSS (don't start on the VSS debate!) database, I got the following error:
"No VSS database (srcsafe.ini) found. Use the SSDIR environment variable or run netsetup. "
So, I added the environment variables. And I still got the problem. I tore the remains of my hair out and my brain filled with porridge.
Eventually, I found the problem. I'd specified a drive-mapping rather than a UNC in the SSDIR tag in ccnet.config. The user running ccnetservice.exe has no knowledge about the drive-mappings on my machine.
The tag should look something like this:
< ssdir > \\Server\Directory\AnotherDirectory\Source Safe < /ssdir >
and NOT something like this:
< ssdir > V:\AnotherDirectory\Source Safe < /ssdir >
Hope this helps someone.