2011-11-17 3 views
0

저는 install4j를 사용하고 있습니다. 사용자가 (Windows XP) 컴퓨터에 설치하려고하면 10 개 언어에 대해 잘 작동하지만 러시아어 또는 에스토니아어와 같은 다른 언어를 사용하면 설치 프로그램이 들어있는 디렉토리에 error.log 파일이 작성됩니다. 명백한 문제점없이 설치가 완료되고 실행할 언어를 선택하고 오류 로그도 작성합니다.번역되지 않은 언어로 설치할 때 Install4j가 NoClassDefFoundError로 error.log를 생성합니다.

  1. 내가 잘못 했나요? 또는 오류를 억제 할 수 있습니까?
  2. 이 버전은 이후 버전의 install4j에서 수정 되었습니까? (변경 로그에 아무런 언급이 없으며 업그레이드 할 빌드 시스템의 install4j를 요청하는 것이 중요하지 않습니다)
  3. 이미 install4j 버그가 있습니까?
  4. 더 많은 진단 정보를 수집해야합니까?

어떤 아이디어가 있습니까?

레크리에이션 단계 :

  1. 제어판 -> 국가 & 언어 설정 -> 지역 옵션 -> 표준 & Formats-> 에스토니아어
  2. 실행 설치는
  3. 하는 error.log는 포함

java.lang.NoClassDefFoundError: sun.awt.AppContext$PostShutdownEventRunnable 
at sun.awt.AppContext.stopEventDispatchThreads(AppContext.java:535) 
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:296) 
at java.lang.Thread.run(Thread.java:736) 

java.lang.NoClassDefFoundError: java.nio.charset.Charset$3 
at java.nio.charset.Charset.probeExtendedProvider(Charset.java:397) 
at java.nio.charset.Charset.lookupExtendedCharset(Charset.java:420) 
at java.nio.charset.Charset.lookup2(Charset.java:454) 
at java.nio.charset.Charset.lookup(Charset.java:440) 
at java.nio.charset.Charset.isSupported(Charset.java:486) 
at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:79) 
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:91) 
at com.exe4j.runtime.util.WinDel.scheduleDeletion(Unknown Source) 
at com.exe4j.runtime.WinLauncher$3.run(Unknown Source) 

답변

1

error.log는 실제로 설치 프로그램 프로세스가 아니라 설치 프로그램을 종료 할 때 시작되는 정리 프로세스에서 발생합니다. 정리 프로세스는 설치 프로그램이 추출 된 임시 디렉토리를 h 제합니다. 이 예외로 인해 임시 디렉토리가 삭제되지 않았을 수 있습니다. 설치의 무결성에 영향을주지 않습니다.

흥미롭게도이 오류는 인코딩 "UTF-16LE"을 JRE에서 사용할 수없는 경우에만 발생할 수 있습니다. 그러나 이것은 기본 인코딩 중 하나입니다. have to be available. 따라서이 특정 상황에서 트리거되는 JRE의 버그가있는 것 같습니다.

+0

흥미 롭습니다. JRE를 테스트로 전환 해 보겠습니다. (일반적으로 Sun/Oracles JRE를 사용하지 않습니다.) 지원되지 않는 언어를 사용할 때만이 정리 프로세스가 실패하는 것이 이상하게 보입니다. – TLAminion