2009-08-20 4 views
0

JAR 파일 (http://nsis.sourceforge.net/A_slightly_better_Java_Launcher)을 실행하는 NSIS로 작성된 변경된 Java 실행기 exe 파일이 있습니다. JAR에 매개 변수를 전달하려고합니다.이 매개 변수는 exe를 호출 한 파일의 절대 경로입니다.NSIS 호출자 파일 경로 가져 오기

BAT 파일에서 "start MyApp.jar % 1"을 사용할 수 있으며 abs 경로를 채우지 만 NSIS에서는 수행 할 수 없습니다 (또는 필자가 올바르게 쓰지 않고 있습니다. "% 1").

는 내 명령이 원하는 : javaw를 -jar MyApp.jar AbsolutePath

다음

내가 그 경로 추가하고 싶지는 현재 나의 라인에 "$ -jar

strcpy를 $ 0 '"$ R0 " {JAR} " '

의견을 보내 주시면 감사하겠습니다. 감사.

답변

0

내 파일 확장명에 대해 "open"명령을 사용합니다. 레지스터 R7에서 "javaw.exe"에 경로를 지정했습니다. 그 방법 (GetJRE라고 함)은 내 질문에 대한 링크에있다. 그런 다음 Windows 자체가 My Jar을 호출하는 파일의 매개 변수를 채우고이를 매개 변수로 전달합니다.

$ {registerExtension} "$ R7 $ \"-jar -Djava.library.path = $ "$ INSTDIR $ \"$ \ "$ INSTDIR \ Viewer.jar" ".YourExtension"\ "YourExtension 파일"

$ {unregisterExtension} ".YourExtension" "YourExtension 파일"

0

% 1은, 또한 상대 경로가 될 수 단지 첫 번째 매개 변수의 절대 경로를 할 필요가 없습니다 (또는하지 경로 전혀)이 경우

, $ {의 getParameters}를 사용에서 FileFunc.nsh는 첫 번째 매개 변수가 아니라 모든 매개 변수를 제공하더라도 사용자의 요구에 맞아야합니다.

+0

감사합니다. Anders. 이 함수를 사용하는 방법을 알아 내려고 노력하고 있지만 이것이 나를 돕는 것으로 보인다. – Ken

+0

은 헤더 파일을 포함하고 $ {GetParameters} $ 1을 사용하여 $ 1에 매개 변수를 가져옵니다. – Anders

관련 문제