2012-05-17 67 views
1

我们使用exe4j 4.4.4来构建运行我们的Java程序的exe。我们的一位客户抱怨说,有时候他们在运行我们的exe时会出现“Windows错误7”。这只会间歇性地发生,并且只发生在几百台机器上。exe4j无法创建临时目录(可能导致Windows错误7)

我们启用了exe4j调试,并注意到在出现错误的情况下,exe4j日志文件包含如下所示的几个条目,然后结束。但是,在成功启动exe时,日志文件将超出这些条目并最终启动我们的Java程序。

这些都是在exe4j的日志文件中的最后几个日志消息时,我们得到的错误:

GetTempPath返回14(最后一个错误183)
化妆DIR返回-1
TEMPPATH是C:\ WINNT \ TEMP \
临时文件是C:\ WINNT \ TEMP \ e4j38.tmp
临时目录:C:\ WINNT \ TEMP \ e4j38.tmp_dir
无法创建目录(183)
GetTempPath返回14(最后一个错误183)
使目录返回-1
TEMPPATH是C:\ WINNT \ TEMP \
TEMPFILE是C:\ WINNT \ TEMP \ e4j39.tmp
温度DIR:C:\ WINNT \ TEMP \ e4j39.tmp_dir
不能创建目录(183)
GetTempPath返回14(最后一个错误183)
化妆DIR返回-1
TEMPPATH是C:\ WINNT \ TEMP \
临时文件是C:\ WINNT \ TEMP \ e4j3A.tmp
临时目录:C:\ WINNT \ TEMP \ e4j3A.tmp_dir
无法创建目录(183)

+1

如果我没有错误Exe4j在临时目录中创建另一个可执行文件。听起来像是在写保护目录中这样做(c:\ winnt通常对于普通用户不可写)。这是我选择WinRun4J而不是Exe4J的原因之一 –

+0

但是这个问题在同一台机器上间歇性地发生!用户在C:\ WINNT \ TEMP中看到一堆exe4jxx.tmp_dir文件夹。 “GetTempPath返回14”是什么意思? – alecswan

回答

1

在一堆应用程序重新启动后,exe4j中有一个错误导致它在临时文件夹中循环。 Exe4j通过向其临时文件夹的名称添加时间戳,减少了4.4.5版本中临时文件夹冲突的机会。

相关问题