javawindows-10compatibility-modewindows-98

Java would only run on Compatibility Mode set to Windows 98 or older


My Java SE (8u111) just won't work. I can't open java programs. Not even the Java Control Panel. I have reinstalled 5 times over, and java just won't work. Everytime i try to open Java (The CP or Program) it appears in Taskmgr, does some work (CPU and Disk rate is picking up), then the rates goes back to 0 (except memory), and Java closes itself without any error notices.

The first time i installed Java, it worked without compatibility mode. Now, it doesn't.

The only things i did before it breaks are:

After it breaks, i did these to solve:

If i apply compatibility mode set to Windows 98 / Windows Me or older, it works. But if i set it to Windows XP or newer, it will not work. Do anybody know why?

I run Java SE 8u111 (on first install, never updated), on Windows 10 version 1607 Intel Core i5-7200U, Nvidia Geforce 920MX, all running on a new 2 week old laptop.

One more thing, i doubt this'll help but, I use custom DPI Scaling (145%)


Solution

  • Test by launching from the console. it's as simple as typing java -jar path-to-your-jarfile into the terminal (can be opened with "win+r" and typing "cmd"). That might at least give you an idea what is the actual problem. --Paul

    Thank you Paul for suggesting! After i run my java programs from the console, i found that all of the programs' crashes was caused by java.lang.IllegalArgumentException: 33 incompatible with Text-specific LCD contrast key.

    I did a quick google search and read https://www.rarst.net/software/cleartype-install4j-java-bug/.

    Then i remembered that, i have modified the registries of cleartype before java breaks. So i re-calibrated the cleartype settings through Windows Control Panel, and now... Everything works! All of the java programs, Java Control Panel, and java on the web is now working!

    I might have figured out why the compatibility mode only works on Windows 98 or older. My cleartype parameters was invalid and java could not process the cleartype. Cleartype was implemented on Windows XP (i think). With compat. mode telling Java that this machine is Windows 98, Java would not start collecting configs and information on cleartype and/or load cleartype, making it not crash.

    My problem is solved! Thank you!