Hello,
I've downloaded the latest TechnicLauncher.exe. I've got Java 1.8 installed:
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
Nonetheless, when I try to run the TechnicLauncher I'm presented with the following message:
This application requires a Java Runtime Environment 1.8.0 - 1.8.0_999
Clearly, 0_202 is somewhat inbetween 0 and 999.
Worth mentioning - I've installed Java manually, as I often need to switch between version 8 and 19. All I need to do is to set %JAVA_HOME% system variable.
Now what does TechnicLauncher really checks to verify the Java version, as simply typing java -version in the command prompt returns the very valid version per TechnicLauncher's requirements?
I was trying to find any code on the GitHub, but I'm assuming it is not publicly available, as the only thing I could find is the documentation and language packs. I'm eager to branch the code and make the appropriate adjustments myself, as I cannot believe checking anything other than Java version residing in the %PATH% variable is the right way to validate the "installed Java version".
By looking at the .exe file bytes, I think I know the answer: it's checking for the registry entries, isn't it? Why? Why not parse the java -version output? So much more reliable... or at least add that step if the registry entries weren't found...
If there is no way to let me see the repository so I can create a pull request, can anyone tell me what registry keys I need to set in order for the launcher to figure out the Java version so it can run?