I finally got this working after reading the following:
It turns out that when the java updater attempts to download new updates, it uses the Windows service called “Background Intelligent Transfer Service” (BITS). If the logged on user is only a standard user, then the java updater fails to correctly use the BITS service to download the new update. However, if the BITS service is not available for use by the java updater (either the service is disabled or permissions are denied to the calling process), the java updater uses an alternate mechanism for downloading and applying updates that works successfully, even if the original user was just a standard user with limited rights (no administrative rights).
In order to elevate the java updater so that standard users can install java updates, we must first set the application compatibility mode of the java updater so that will run in compatibility mode for Windows 2000, which did not have the “Background Intelligent Transfer Service”. This will force the Java updater to use the alternate mechanism to download the java updates.
So what you do is:
- find jucheck.exe (typically under
%PROGRAMFILES%\Common Files\Java\Java Update or
%PROGRAMFILES(x86)%\Common Files\Java\Java Update)
- open it’s properties and set it to run in Windows 2000 compatibility mode (for all users or at least for your elevated one!)
- check for updates again through Java Control Panel
The installer will nagg about your OS not being supported, but will allow you to install the update.
I got this working after about ~3 years of searching for a solution. Still waiting for Oracle to fix it. They simply fail to understand that running as superuser all the time is bad practice and a thing of the past.