我正在使用install4j,它适用于我们有翻译的10种语言,但是如果用户试图安装在使用其他语言(例如俄语或爱沙尼亚语)的(Windows XP)计算机上,则会出错。日志文件在包含安装程序的目录中创建。安装完成时没有任何明显的问题,可以选择运行语言,但也会创建错误日志。
任何想法?
娱乐步骤:
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)
答案 0 :(得分:1)
error.log实际上不是来自安装程序进程,而是来自安装程序退出时启动的清理进程。清理过程将删除已将安装程序解压缩到的临时目录。由于此异常,该临时目录可能尚未删除。安装的完整性尚未受到影响。
有趣的是,只有在JRE中没有编码“UTF-16LE”时才会出现此错误。但是,这是have to be available的基本编码之一。所以看起来JRE中存在一个在这种特定情况下触发的错误。