2009-08-18 4 views

답변

1

Sun의 kernel installer for Java을 확인해보십시오. 상당히 작으며 백그라운드에서 전체 JVM을 다운로드하고 설치하는 일을 담당합니다. 앱 배포 방법에 따라 앱을 포함시킬만큼 작을 수도 있습니다. 우리의 응용 프로그램에서이 설치 관리자조차도 너무 커서 현재 설치되어있는 JRE를 감지 한 다음 필요하다고 판단되면 커널 설치 프로그램을 다운로드합니다.

설치 시스템에서 언제든지 http 다운로드 (웹 브라우저 외부)를 사용하여 커널 설치 프로그램을 가져 와서 실행할 수 있습니다. 우리는 NSIS를 사용하고 있으며 이것을 위해 꽤 잘 작동하는 http 다운로드 라이브러리가 많이 있습니다. 올바른 Java 버전을 감지 할 수있는 여러 NSIS 플러그인이 있습니다. 이 두 기능의 결합으로 항상 우리에게 충분했습니다.

EDIT - NSIS를 사용하는 경우 here's a plugin은 설치 내부에서 http 또는 ftp를 통해 파일을 다운로드합니다.

그리고 여기는 full featured Java launcher using NSIS입니다. javaw.exe를 사용하여 실제로 앱을 시작하는 구체적인 기술은 신경 쓰지 않지만 JRE 버전, UAC 고도를 감지하는 일반적인 접근 방식은 JRE 설치 프로그램을 다운로드하는 것이 좋습니다. 우리는 우리 자신의 프로세스 이름, 아이콘 등을 가질 수있는 (java.exe 대신에) 우리 자신의 실행기를 가지고 있습니다 ...

개인적으로, 설치 자체에서 이런 종류의 작업을하는 것이 좋습니다.

+0

충분 하긴하지만 Java 커널 설치 프로그램을 프로그래밍 방식으로 어떻게 다운로드합니까? – Gili

+0

응용 프로그램에서 다운로드를 시작 하시겠습니까? (JVM을 시작하는 기본 .exe가 있다고 가정) 아니면 설치 프로그램에서? 가장 가능성있는 시나리오는 설치 프로그램을 통한 시나리오입니다.이 경우 설치 기술에 크게 의존하게됩니다. NSIS에서 http 다운로드를 수행하는 방법에 대한 링크를 포함하도록 답변을 업데이트했습니다. 다른 설치 프로그램 메커니즘을 사용하는 경우 이에 해당하는 도구를 찾아야합니다. –

1

java web start을 사용하여 바탕 화면 바로 가기에서 응용 프로그램을 시작할 수도 있습니다. 그렇게하면 웹 시작 프레임 워크는 브라우저에서 시작된 것처럼 JRE를 다운로드하고 설치할 수 있습니다.

브라우저 기반 웹 시작 응용 프로그램으로 응용 프로그램을 배포하는 경우 jnlp 파일에서 시작 메뉴 및/또는 바탕 화면 아이콘을 처음으로 만드는 속성을 설정할 수 있습니다. 다른 배포 양식을 선택하면 javaws을 대신 호출하는 바로 가기를 수동으로 만들 수 있습니다.

+1

Java 웹 시작을 사용하려면 JRE가 필요하지 않습니까? –

+0

예, 데스크톱 응용 프로그램이 Java로 개발되었다고 가정했지만, 꼭 그렇지는 않다. 그것은 자바 웹 시작되지 않습니다 도움이되지 않습니다. – henrik

0

시작시 JSmooth를 사용하여 Java를 확인할 수 있으므로 사용자가이를 설치할 수 있습니다.

자동 설치를 원할 경우 공개적으로 사용할 수 없다는 것을 알고있는 MSI 버전 (Windows 용)이 필요합니다.

관련 문제