Encoding 当以未翻译的语言安装时,Install4j生成带有NoClassDefFoundError的error.log

Encoding 当以未翻译的语言安装时,Install4j生成带有NoClassDefFoundError的error.log,encoding,noclassdeffounderror,install4j,Encoding,Noclassdeffounderror,Install4j,我使用的是install4j,它适用于我们提供的10种语言的翻译,但是如果用户尝试在使用其他语言(如俄语或爱沙尼亚语)的(windows XP)计算机上安装,则会在包含安装程序的目录中创建error.log文件。安装完成后,不会出现任何明显的问题,可以选择运行语言,但也会创建错误日志 我做错什么了吗?或者我可以抑制错误吗 在更高版本的install4j中,这个问题是否得到了解决(我在更改日志中没有看到任何提及,要求升级我们构建机器的install4j也不是小事) 是否已经存在OpenInstal

我使用的是install4j,它适用于我们提供的10种语言的翻译,但是如果用户尝试在使用其他语言(如俄语或爱沙尼亚语)的(windows XP)计算机上安装,则会在包含安装程序的目录中创建error.log文件。安装完成后,不会出现任何明显的问题,可以选择运行语言,但也会创建错误日志

  • 我做错什么了吗?或者我可以抑制错误吗
  • 在更高版本的install4j中,这个问题是否得到了解决(我在更改日志中没有看到任何提及,要求升级我们构建机器的install4j也不是小事)
  • 是否已经存在OpenInstall4J错误
  • 我需要收集更多诊断信息吗
  • 有什么想法吗

    娱乐步骤:

  • 控制面板->区域和语言设置->区域选项->标准和格式->爱沙尼亚语
  • 运行安装程序
  • Error.log则包含:

  • java.lang.NoClassDefFoundError:sun.awt.AppContext$PostShutdownEventRunnable
    位于sun.awt.AppContext.stopEventDispatchThreads(AppContext.java:535)
    运行(awtauthouthutton.java:296)
    运行(Thread.java:736)
    java.lang.NoClassDefFoundError:java.nio.charset.charset$3
    位于java.nio.charset.charset.probeExtendedProvider(charset.java:397)
    位于java.nio.charset.charset.lookupExtendedCharset(charset.java:420)
    位于java.nio.charset.charset.lookup2(charset.java:454)
    位于java.nio.charset.charset.lookup(charset.java:440)
    位于java.nio.charset.charset.isSupported(charset.java:486)
    位于sun.nio.cs.streamncoder.forOutputStreamWriter(streamncoder.java:79)
    位于java.io.OutputStreamWriter。(OutputStreamWriter.java:91)
    位于com.exe4j.runtime.util.WinDel.scheduledelection(未知源)
    位于com.exe4j.runtime.WinLauncher$3.run(未知源)
    
    error.log实际上不是来自安装程序进程,而是来自安装程序退出时启动的清理进程。清理过程将删除安装程序已提取到的临时目录。由于此异常,该临时目录可能尚未被删除。安装的完整性未受到影响


    有趣的是,只有当编码“UTF-16LE”在JRE中不可用时,才会发生此错误。然而,这是最基本的编码之一。因此,在这种特定情况下,JRE中似乎会触发一个bug。

    有趣的是,我将尝试将JRE作为一个测试来切换(我通常不使用Sun/Oracles JRE)。奇怪的是,这个清理过程只有在我使用不受支持的语言时才会失败。
    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)