cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

JRE patch enhancement in Java 11.0.20 crashing Installers

JRE patch enhancement in Java 11.0.20 crashing Installers

Summary:

This article discusses installers getting aborted without any proper message when using Java 17.0.8 or Java 11.0.20.

Symptoms :

When an Installer uses java 17.0.8 or 11.0.20 to execute itself the installer abruptly crashes with below stack trace and message “This Application has Unexpectedly Quit: Invocation of this Java Application has caused an ExceptionInInitializerError. This application will now exit. (LAX)”.

m1.JPG

Cause :

A new JRE enhancement patch in Java 11 and Java 17 causes installers to crash due to new restrictions on ZipFS. As part of the fix for JDK-8251329, restrictions were added to the ZipFS provider to throw an exception if opening a ZIP file that contained entries with "." or ".." in its name elements. This behavior change may be problematic in older environments where modification of such ZIP files may be difficult.

Workaround :

A new system property java.util.zip.ZipFile has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system property jdk.util.zip.disableZip64ExtraFieldValidation to true.. InstallAnywhere already provides a feature called additional arguments which can be used to modify the value of jdk.util.zip.disableZip64ExtraFieldValidation=true system property.

In Windows:

1. Navigate to Project->JVM Settings->Installer Settings

2. Add argument -Djdk.util.zip.disableZip64ExtraFieldValidation=true in Additional arguments TextField

java1.JPG

In Linux,
set JAVA_TOOL_OPTIONS= -Djdk.util.zip.disableZip64ExtraFieldValidation=true environment variable in /etc/environment file or vi ~/.bashrc

Labels (4)
Was this article helpful? Yes No
100% helpful (1/1)
Comments

There a permanent fix for this or will we always need this java option?

I tried this and it didn't work.

I reported this issue in the early days of Q3, 2023 and got the same suggestions from Premium support.  it worked for me.

If its a Linux then try the option by setting as environment variable.

The suggested solution to set the property under Installer Settings in the Project does not seem to work on UNIX. Is this a defect?

The environment variable is not an option for me as it affects other Java applications.

The issue fixed in IA2023 R2

Thanks. IA2023 R2 fixed the issue.

 

Version history
Last update:
‎Oct 17, 2023 11:15 PM
Updated by:
Contributors