Same issue here. The build is a success by an error message is created
in the windows events.
It seems the web dashboard is trying to save a file in C:\Program
Files (x86)\CruiseControl.NET\server\project.state but has no right to
do it.
I tried allowing the IIS user and the "Everyone" user but the error
persists.
Is there a way to set an appropriate folder for this file?
2010-09-12 22:48:34,753 [project] ERROR CruiseControl.NET [(null)] -
Unable to save integration result:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Unable to save
the IntegrationResult to the specified directory: C:\Program Files
(x86)\CruiseControl.NET\server\project.state
<?xml version="1.0" encoding="utf-8"?>
<IntegrationResult xmlns:xsi="
http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
scmError="false">
<ProjectName>project</ProjectName>
<BuildCondition>ForceBuild</BuildCondition>
<Label>4</Label>
<Parameters>
<NameValuePair name="Build Name" value="Unknown" />
<NameValuePair name="$CCNetArtifactDirectory" value="C:\CruiseData
\project\Artifacts" />
<NameValuePair name="$CCNetBuildCondition" value="ForceBuild" />
<NameValuePair name="$CCNetBuildDate" value="2010-09-12" />
<NameValuePair name="$CCNetBuildTime" value="22:48:21" />
<NameValuePair name="$CCNetFailureUsers"
value="System.Collections.ArrayList" />
<NameValuePair name="$CCNetIntegrationStatus" value="Unknown" />
<NameValuePair name="$CCNetLabel" value="4" />
<NameValuePair name="$CCNetLastIntegrationStatus" value="Success" /
>
<NameValuePair name="$CCNetListenerFile" value="C:\CruiseData
\project\Artifacts\project_ListenFile.xml" />
<NameValuePair name="$CCNetModifyingUsers"
value="System.Collections.ArrayList" />
<NameValuePair name="$CCNetNumericLabel" value="4" />
<NameValuePair name="$CCNetProject" value="project" />
<NameValuePair name="$CCNetRequestSource" value="WILDWURGER" />
<NameValuePair name="$CCNetUser" value="admin" />
<NameValuePair name="$CCNetWorkingDirectory" value="C:\CruiseData
\project\Workspace" />
</Parameters>
<WorkingDirectory>C:\CruiseData\project\Workspace</WorkingDirectory>
<ArtifactDirectory>C:\CruiseData\project\Artifacts</
ArtifactDirectory>
<Status>Success</Status>
<StartTime>2010-09-12T22:48:21.3079645+02:00</StartTime>
<EndTime>2010-09-12T22:48:34.7446045+02:00</EndTime>
<LastIntegrationStatus>Success</LastIntegrationStatus>
<LastSuccessfulIntegrationLabel>4</LastSuccessfulIntegrationLabel>
<FailureUsers />
<lastBuild>Success</lastBuild>
<SourceControl name="SVN:LastRevision:xxx" />
</IntegrationResult> ---> System.UnauthorizedAccessException: Access
to the path 'C:\Program Files (x86)\CruiseControl.NET\server
\project.state-NEW' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String
maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess
access, Int32 rights, Boolean useRights, FileShare share, Int32
bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String
msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode,
FileAccess access, FileShare share, Int32 bufferSize, FileOptions
options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode,
FileAccess access, FileShare share, Int32 bufferSize, FileOptions
options)
at
ThoughtWorks.CruiseControl.Core.Util.SystemIoFileSystem.AtomicSave(String
file, String content, Encoding encoding)
at
ThoughtWorks.CruiseControl.Core.State.FileStateManager.SaveState(IIntegrationResult
result)
--- End of inner exception stack trace ---
at
ThoughtWorks.CruiseControl.Core.State.FileStateManager.SaveState(IIntegrationResult
result)
at
ThoughtWorks.CruiseControl.Core.IntegrationResultManager.FinishIntegration()