Can't suppress Java 1.8 Upd 74 update prompts
I'm being driven slowly mad by trying to deploy Java 1.8 Update 74 x86 and turn off the prompts that say it's out of date. There are so many conflicting articles online and on here - probably because Oracle keep moving the goalposts as to what works. For example, the MSI you can get out of your Local AppData folder is not supported for enterprise install. It also seems they keep removing supported parameter names from the deployment.properties. And there are no end of articles with vastly differing syntaxes listed for the paths of the two file parameters I'm using.
Here's what I'm currently doing:
1. Copy the following java.settings.cfg to c:\ProgramData\Oracle\Java\
INSTALL_SILENT=Enable
STATIC=Disable
AUTO_UPDATE=Disable
WEB_JAVA=Enable
WEB_ANALYTICS=Disable
EULA=Disable
REBOOT=Disable
NOSTARTMENU=Enable
SPONSORS=Disable
REMOVEOUTOFDATEJRES=Enable
2. Copy deployment.config to c:\Windows\Sun\Java\Deployment\
deployment.system.config=file\:C\:/WINDOWS/Sun/Java/Deployment/deployment.properties
3. Copy deployment.properties to c:\Windows\Sun\Java\Deployment\
deployment.expiration.check.enabled=FALSE
deployment.expiration.check.enabled.locked
deployment.insecure.jres=NEVER
deployment.insecure.jres.locked
deployment.webjava.enabled=TRUE
install.disable.sponsor.offers=TRUE
install.disable.sponsor.offers.locked
deployment.user.security.exception.sites=C\:/Windows/Sun/Java/Deployment/exception.sites
deployment.security.jsse.hostmismatch.warning=FALSE
4. Install Java from the offline exe
start /wait "" "Java v1.80 Update 74.exe" INSTALLCFG=c:\ProgramData\Oracle\Java\java.settings.cfg
My deployment.properties is definitely applying, because if I alter the sponsor offers line, I can see the result updated in the Control Panel applet.
What am I doing wrong? Is it perhaps that with this version of Java, the "out of date" message can no longer be suppressed?
I'd be very grateful to hear from anyone who successfully remotely deploys Java 1.8 >=74! Thanks!
Answers (2)
Top Answer
The main issue is related to the version expiry checks rather than updating per se. I appear to have solved the problem - at least for now. Here is my final system deployment.properties file:
deployment.expiration.check.enabled=FALSE
deployment.expiration.check.enabled.locked
deployment.expiration.decision=NEVER
deployment.expiration.decision.locked
deployment.expiration.decision.suppression=TRUE
deployment.expiration.decision.suppression.locked
deployment.insecure.jres=NEVER
deployment.insecure.jres.locked
deployment.security.jsse.hostmismatch.warning=FALSE
deployment.security.level=HIGH
deployment.user.security.exception.sites=C\:/Windows/Sun/Java/Deployment/exception.sites
deployment.webjava.enabled=TRUE
install.disable.sponsor.offers=TRUE
install.disable.sponsor.offers.locked
But also for this solution to work, it's necessary to run a command once per profile. I've done this using Active Setup. The relevant registry settings were added as follows:
reg.exe add "HKLM\Software\Microsoft\Active Setup\Installed Components\{4529c15c-e76b-48c3-9d7f-9cda59233a20}" /ve /t REG_SZ /d "Java Expiration RunOnce" /f
reg.exe add "HKLM\Software\Microsoft\Active Setup\Installed Components\{4529c15c-e76b-48c3-9d7f-9cda59233a20}" /v "Version" /t REG_SZ /d "1,8,74" /f
reg.exe add "HKLM\Software\Microsoft\Active Setup\Installed Components\{4529c15c-e76b-48c3-9d7f-9cda59233a20}" /v "StubPath" /t REG_SZ /d "javaws.exe -userConfig deployment.expiration.check.enabled false" /f
Note that the GUID was randomly generated and that the -userConfig switch is case-sensitive. Hope this spares someone else some of the pain...
Comments:
-
Thanks. I tried this yesterday with the EXE for Java 1.8 Update 74 but still got the prompt on first use. Any more ideas? - cantoris 7 years ago
-
I use the MSI not the EXE and never have an issue. You could try pulling the MSI from C:\Windows\Installer and try it with the switches.
This is what I use:
msiexec.exe /i "MyMSI" /qn /norestart /l* C:\ProgramData\Sun\MSI_Log.txt AUTO_UPDATE=0 EULA=0 WEB_JAVA=1 IEXPLORER=1 MOZILLA=1 JAVAUPDATE=0 - Desktop Jockey 7 years ago -
I use these two registry entries. The jucheck key used to be under policy, but it has it has it's own key now.
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy\jucheck]
"NotifyDownload"=dword:00000000
"NotifyInstall"=dword:00000000 - farmersLSD 6 years ago
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy]
"EnableJavaUpdate"=dword:00000000
"NotifyDownload"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
"NotifyInstall"=dword:00000000
"Frequency"=dword:01110000
"UpdateSchedule"=dword:00000000
"PromptAutoUpdateCheck"=- - cantoris 7 years ago
INSTALL_SILENT=1
STATIC=0
AUTO_UPDATE=0
WEB_JAVA=1
WEB_ANALYTICS=0
EULA=0
REBOOT=0
NOSTARTMENU=1
SPONSORS=0
REMOVEOUTOFDATEJRES=1 - Desktop Jockey 7 years ago