As above. I'm specifically running a Java program using ExecWait, by invoking java.exe and passing the classname. The application I'm running relies on relative paths and has to be run from a specific directory, however when I directly call java, it simply uses the installer location as the current directory and fails.
Is there a way to get around this?
Update: Here's my commandline:
ExecWait "$INSTDIR\MyApp\jre\bin\java.exe -cp $INSTDIR\MyApp\lib\*; MyJavaClassName"
SetOutPath sets the current/working directory for the process, it should be inherited by the child process...
Push $OUTDIR
SetOutPath $myspecialdir
ExecWait '"$instdir\myapp.exe"'
Pop $OUTDIR
SetOutPath $OUTDIR # Optional if working directory does not matter for the rest of the code
or
SetOutPath $myspecialdir
ExecWait '"$instdir\myapp.exe"'
SetOutPath $instdir