2012-01-05 2 views
0

설치가 완료되면 install4j 실행 프로그램을 시작하려고하는데 작동하지 않습니다. 런처는 시작 메뉴 항목으로 잘 작동합니다. 내 응용 프로그램이 Java Web Start (법적인 이유가 있어야 함)를 통해 시작 되었기 때문에 이것이 가능하다고 믿을만한 이유가 있습니다.install4j 설치시 Java Web Start 응용 프로그램 시작

  1. 설치 창이 사라지고 자바 웹 시작은 (그것의 시작을 보여주는) 시작 : 내 install4j 설치에 마침 버튼을 클릭하면 어떻게됩니까

    이다.

  2. 더 이상 발생하지 않습니다 (일반적으로 Java 응용 프로그램이 여기에서 시작됩니다). 자바 로그에보고함으로써

, 그 웹 시작 실제로 내 자바 응용 프로그램을 실행하지만 완전히 시작되지 것을 볼 수 있기 때문에 파일을 C : \ 사용자 \ 사용자 이름 \의 AppData \ 로컬 \ 온도 \ e4j2E4E.tmp_dir \ jre \ lib \ ext \ dnsns.jar가 더 이상 존재하지 않습니다. 이 디렉토리는 install4j가 실행해야하는 JRE를 임시로 배치하는 장소 인 것 같습니다.

파일 관리자에서 F5를 누르면 WebStart가 실행 된 후 JRE가 제거되었다는 것을 알 수 있습니다 (install4j로 추측). 그러면 왜 내 Java 응용 프로그램이 실패하는지 설명 할 수 있습니다.

(설치 후 수동으로) 시작 메뉴 시작 관리자를 실행하면 자바 응용 프로그램이 번들로 제공되는 JRE (자체 하위 폴더)를 사용하기 때문에 모든 것이 제대로 작동합니다.

install4j가 임시 JRE를 제거하거나 WebStart가 다른 (번들로 제공되는) JRE로 Java 응용 프로그램을 강제 실행하지 못하게하려면 어떻게합니까?

미리 제안 해 주셔서 감사합니다.

== EDIT == 이것은 내 응용 프로그램이 시작되는 방식입니다. install4j 실행기는 내 Java 응용 프로그램을 시작하는 javaws 바이너리를 시작하는 Java 클래스를 시작합니다.

+0

어떻게 앱을 시작하거나 실행 하시겠습니까? (현재 실패하고있는 것은 무엇입니까?) – cdeszaq

+0

루프에서 Install4J를 가져 와서 전체 설치/실행을 위해 JWS를 사용하지 않으시겠습니까? –

+0

cdeszaq : install4j Launcher는 내 Java 클래스를 시작합니다. Java 클래스를 시작하면 javaws 바이너리가 시작되어 주 Java 애플리케이션이 시작됩니다. – minisu

답변

0

웹 실행을 "실행 가능"실행으로 시작한다고 가정합니다. 현재 JRE의 위치를 ​​얻으려면 System.getProperty("java.home")을 사용합니까? 그러면 설치 프로그램이 종료 된 후 삭제되는 일시적으로 추출 된 JRE가 생성됩니다.

대신 sys.preferredJre 설치 프로그램 변수를 사용해야합니다. 텍스트 입력란에 ${installer:sys.preferredJre}을 입력하고 스크립트에 context.getVariable("sys.preferredJre")을 입력하십시오. "파일 설치"작업이 실행 된 후 변수에는 설치된 JRE 번들의 위치가 포함됩니다.

+0

"실행 파일 실행기"와 "실행 파일 실행"을 모두 시도했습니다. AFAIK, 나는 결코 JRE를 명시 적으로 설정하거나 얻지 않습니다. install4j에서 sys.preferredJre를 어디에서 사용할 수 있습니까? JRE를 설정하는 매개 변수를 찾을 수 없습니다. – minisu

+0

질문은 정말로, 임시 JRE가 웹 시작으로가는 길을 어떻게 알 수 있습니까? install4j에는 웹 시작 기능이 없으므로 특정 시점에서 start 웹 시작을 명시 적으로 호출해야합니다. –

+0

Ingo : install4j 실행 프로그램은 기본적으로 다음을 수행하는 Java 클래스를 호출합니다. Runtime.getRuntime(). exec (새 문자열 [] { "jre/bin/javaws.exe", 새 파일 ("myAppsWebStartConfig.jnlp") .getAbsolutePath()}, null); – minisu

관련 문제