One of the things that I've discovered causing the 1603 error is a PE called bspatch.exe that's part of the JRE/SDK installer. We use Cylance, and Cylance had identified bspatch.exe as probable malware, so the memory protection was getting invoked and completely blocking the install.
Before you white-list bspatch.exe, verify that the SHA256 hash is 32A4664E367A5C6BC7316D2213E60086D2813C21DB3D407350E4ACA61C1B16A1. I think Oracle hasn't modified bspatch since some time in JRE 7.x, and it might even predate that.
There is one AV vendor at VirusTotal (and HerdProtect) that has identified this PE as a possible worm, but I'm certain that that's a False Positive.
Hope this helps.