2012-05-17 1 views
1

exe4j 4.4.4를 사용하여 Java 프로그램을 실행하는 exe를 빌드합니다. 고객 중 한 명이 exe를 실행할 때 "Windows error 7"이 발생한다고 불평하고 있습니다. 이것은 간헐적으로 만 발생하며 수백 대의 컴퓨터에서 발생할 수 있습니다.exe4j가 임시 디렉토리를 만들 수 없습니다. 잠재적으로 Windows 오류 7이 발생합니다.

우리는 exe4j 디버깅을 활성화하고 오류가 발생할 경우 exe4j 로그 파일에 아래 항목과 같은 여러 항목이 포함 된 다음 종료된다는 사실을 알았습니다. 그러나 성공적으로 exe를 시작하면 로그 파일은 이러한 항목을 넘어 결국 Java 프로그램을 시작합니다. 우리가 오류를 얻을 때

이 exe4j 로그 파일의 마지막 몇 로그 메시지입니다 :

GetTempPath 14 (마지막 오류 183)
메이크업 해줄 반환 -1
tempPath는 C 반환 : \ WINNT \
임시 파일 \ TEMP는 C : \ WINNT \ 임시 \의 e4j38.tmp
임시 디렉토리 : C : \ WINNT \ 임시 \의 e4j38.tmp_dir
디렉토리를 만들 수 없습니다 (183)
GetTempPath 14 (마지막 오류 183)를 반환
make dir이 -1을 반환했습니다. \ WINNT \ 임시 \의 e4j39.tmp
온도 DIR : C : \ WINNT \ 임시 \의 e4j39.tmp_dir
만들 수 DIR (183) C이다 \ WINNT \ TEMP
임시 파일 \ 451,515,
tempPath는 C 인 C : e4j3A.tmp
임시 디렉토리 \ \ WINNT \ TEMP \ WINNT \ TEMP
임시 파일 \ C이다 WINNT \
GetTempPath 14 (마지막 오류 183)
만들기 DIR은
tempPath가 C -1 리턴 리턴 \ TEMP \ e4j3A.tmp_dir
디렉토리를 만들지 못했습니다 (183)

+1

내가 잘못하지 않은 경우 Exe4j는 임시 디렉토리에 다른 실행 파일을 만듭니다. 쓰기 보호 된 디렉토리 (c : \ winnt는 보통 일반 사용자의 경우 쓰기 가능하지 않음)에서 그렇게하는 것 같습니다. 이것은 내가 Exe4J를 통해 Winrun4J를 선택한 이유 중 하나였습니다 –

+0

하지만 같은 시스템에서 간헐적으로 문제가 발생합니다! 그리고 사용자는 성공적인 실행에서 C : \ WINNT \ TEMP에 exe4jxx.tmp_dir 폴더를 볼 수 있습니다. "GetTempPath가 14를 반환했습니다"는 의미는 무엇입니까? – alecswan

답변

1

exe4j에 번치 응용 프로그램을 다시 시작한 후 임시 폴더를 순환하는 버그가있었습니다. Exe4j는 임시 폴더 이름에 타임 스탬프를 추가하여 4.4.5 버전의 임시 폴더 충돌 가능성을 줄였습니다.

관련 문제