shannah / jdeploy

Developer friendly desktop deployment tool
https://www.jdeploy.com
Apache License 2.0
347 stars 21 forks source link

Java8 on windows runs on Java 11 #131

Open shannah opened 5 days ago

shannah commented 5 days ago

Currently there is a problem with Java 8 on windows. If an app specifies javaVerson=8, then it will actually run on Java 11.

The reason is because there is a "worse" bug with Java 8 on windows that is causing the app to fail to launch.

E.g.

$ ./MyApp.exe
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

Now, this works fine before the launcher has the app.xml appended. Not sure which of those is the actual problem.

Need to investigate 3 possible areas:

  1. zulu-8 distribution. (since it works fine with zulu-11+)
  2. The parsing of the app.xml data at the end of the executble. As removing this and just providing (a different) app.xml beside the exe works.
  3. The attributes of the app.xml data at the end of the executable. Perhaps its the specific atts ... need to pull them out to take a look.
reportmill commented 4 days ago

Is this for Java 8 on Windows 'any' or just for ARM? I wonder if it has to do with the change in numbering scheme, because Java 8 was really 'Java 1.8' under the covers.