Java NSIS-在运行进程之前为其设置工作目录

Java NSIS-在运行进程之前为其设置工作目录,java,process,nsis,Java,Process,Nsis,如上所述。 我特别使用ExecWait运行一个Java程序,方法是调用Java.exe并传递类名。我正在运行的应用程序依赖于相对路径,并且必须从特定目录运行,但是当我直接调用java时,它只是使用安装程序位置作为当前目录,并且失败 有没有办法绕过这个问题 更新:这是我的命令行: ExecWait "$INSTDIR\MyApp\jre\bin\java.exe -cp $INSTDIR\MyApp\lib\*; MyJavaClassName" 设置进程的当前/工作目录,该目录应由子进程继承

如上所述。 我特别使用ExecWait运行一个Java程序,方法是调用Java.exe并传递类名。我正在运行的应用程序依赖于相对路径,并且必须从特定目录运行,但是当我直接调用java时,它只是使用安装程序位置作为当前目录,并且失败

有没有办法绕过这个问题

更新:这是我的命令行:

ExecWait "$INSTDIR\MyApp\jre\bin\java.exe -cp $INSTDIR\MyApp\lib\*; MyJavaClassName"
设置进程的当前/工作目录,该目录应由子进程继承

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


你能发布一些命令行吗?完成了,我只是在调用我的应用程序的绑定JRE以及类名。为了安全起见,你应该修正你的引号:ExecWait'$instdir\app.exe''param 1“param 2”para m3'(应该引用路径等)。谢谢,我不知道这也会设置当前目录:)
SetOutPath $myspecialdir
ExecWait '"$instdir\myapp.exe"'
SetOutPath $instdir