I made a test and installed a Windows 2008 SP2 64 bits server on EC2.
Installed java 64 bits on it (JDK7).
I started the slave as JNLP and ran it as a service.
Connected that server to my master, and sent it a simple job that runs a Windows batch command that does contains
set
java -version
Here's the relevant output:
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Windows\system32\config\systemprofile\AppData\Roaming
BASE=C:\Jenkins
BUILD_CAUSE=MANUALTRIGGER
BUILD_CAUSE_MANUALTRIGGER=true
BUILD_DISPLAY_NAME=#3
BUILD_ID=2014-08-15_15-38-57
BUILD_NUMBER=3
BUILD_TAG=jenkins-unity3d-sample-project-lite-3
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
ComSpec=C:\Windows\system32\cmd.exe
DFSTRACINGON=FALSE
EXECUTOR_NUMBER=0
FP_NO_HOST_CHECK=NO
HUDSON_HOME=/Users/Shared/Jenkins/Home
HUDSON_SERVER_COOKIE=6fd210b99c2cb227
JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
JENKINS_HOME=/Users/Shared/Jenkins/Home
JOB_NAME=unity3d-sample-project-lite
LOCALAPPDATA=C:\Windows\system32\config\systemprofile\AppData\Local
NODE_LABELS=ec2-windows2008 windows2008
NODE_NAME=ec2-windows2008
OS=Windows_NT
Path=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 62 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3e04
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\AWS Tools\PowerShell\
PUBLIC=C:\Users\Public
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Windows\TEMP
TMP=C:\Windows\TEMP
TRACE_FORMAT_SEARCH_PATH=\\winseqfe\release\Windows6.0\lh_sp2rtm\6002.18005.090410-1830\amd64fre\symbols.pri\TraceFormat
USERDOMAIN=WORKGROUP
USERNAME=WIN-I4XXXXXX
USERPROFILE=C:\Windows\system32\config\systemprofile
windir=C:\Windows
WORKSPACE=C:\Jenkins\workspace\unity3d-sample-project-lite
C:\Jenkins\workspace\unity3d-sample-project-lite>java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
I also tried starting unity from the same job and indeed, unity uses the SysWOW64 directory to store the Editor.log
So either a documentation bug, missunderstanding on how LOCALAPPDATA can be identified or bug in unity.
Anyway, I highly suggest you to override the -logFile in the meantime. I suspect that in the future I will even override the -logFile argument for all jobs and replace it with the plugin's one. This in order to solve other problems, including complexity in the plugin code and piping issues.
In the plugin, jenkins fetches the path from
The path is correct according to http://docs.unity3d.com/Manual/LogFiles.html
It would be nice if someone could on a Windows 2008 x64 server run a cmd job that outputs the full environment to check what LOCALAPPDATA contains there.
In the mean time I suspect that specifying the full -logFile argument would help work around the issue.