Skip to main content

Disabling Java Autoupdates

15 replies [Last post]
dcooke
Offline
Joined: 2007-12-18
Points: 0

I am sure this is a regular question on Java forums, but I am hoping I can get a definitive answer. How do I go about disabling Auto updates from within the msi file?
I have tried setting Autoupdatecheck/Javaupdate/JU to 0, even removing them from the property table/Registry table. But I am still unable to install a version of Java with Auto updates disabled at installation.
With this version of Java has the method of disabling the updates changed? Will it change for the finished version? I am looking at this from a deployment issue while I test this version against the company's proposed Vista roll out.
Thank you.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
rogyeu
Offline
Joined: 2006-07-30
Points: 0

Java for Business is for companies who want to have controlled Java environment of their employee machines. Just think of it as the business version of JRE. In addition, there are companies who are using legacy systems to run their businesses. Therefore, we have provided those companies Java for Business with extended support, deployment options, and etc.

rogyeu
Offline
Joined: 2006-07-30
Points: 0

You may want to check out "Java SE for Business". It targets corporate environment that requires control on the Java environment, ie. Auto-update is turned off, but users can still receive security updates.

http://www.sun.com/software/javaseforbusiness/features.jsp

demonduck
Offline
Joined: 2008-03-14
Points: 0

Is anyone else starting to get confused? How many different JRE's are there? Seems
like there is always something else that I've never heard of before.

We have releases -- early releases -- plugins and plugin2's -- applet lifecycles and
applet legacy lifecycles -- some browsers do this -- some browsers do that -- some
OS's get graphics acceleration -- some OS's don't.

Way to go guys! Don't let up on your "War Against The KISS Principle"........

kirillcool
Offline
Joined: 2004-11-17
Points: 0

And the point is? There are multiple OS's with different capabilities, there are multiple end user configurations with different CPU / GPUs, there are multiple browsers that support different parts of the standards differently. Is this news?

masi
Offline
Joined: 2008-11-28
Points: 0

Hi,

I have similiar issue with Java update and wants to deploy this using group policy. Could you please help me with this using scripts or advice.
Thanks ,
Masi

demonduck
Offline
Joined: 2008-03-14
Points: 0

In a recent thread, it was documented that there are many different Java versions
out in the wild. And not so many of those versions are the "...latest, greatests..."
Java. So clearly, many, many people turn auto updating off.

Yet the default policy of a forced install of the update scheduler remains. And even
made more difficult to defeat. From the 2005 bug report:

***********
By design, Java Update is enabled by default, so end users would be able to get the latest greatest update proactively. For companies that want to disable Java Update on all systems, they may roll out the following registry key:

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy]
"EnableAutoUpdateCheck"=dword:00000000

This will effectively disable the update check in Java Update.

In addition, Java Update only runs if users have administrative privileges. Thus, for enterprise that has locked-down desktop, general users do not have sufficient privileges, so they won't be affected by Java Update.

The default policy will not be changed, but customers may use workaround to achieve what they want.
xxxxx@xxxxx 2005-07-14 03:06:10 GMT

Submitted On 24-APR-2007

The EnableAutoUpdateCheck key has been removed in later version of Java RE. See bug 6495497
************

So this begs the question of why a policy that inconveniences both individuals and
large corporate installations remains the policy in force? Who believes, "...so end users
would be able to get the latest greatest update proactively..." when it is demonstrated
that a good portion of Java installations don't want a "proactive" update policy?

Why is there such a massive disconnect between what the Java Dev Team thinks
We want and what we actually want?

trembovetski
Offline
Joined: 2003-12-31
Points: 0

> when it is demonstrated that a good portion of Java installations don't want a "proactive" update policy?

Exactly how is this "demonstrated"?

You do realize that if auto update is disabled the users won't be getting security updates either, right?

I do agree that for businesses deployments there has to be a well documented way to disable auto update.

Dmitri

demonduck
Offline
Joined: 2008-03-14
Points: 0

I agree that the demonstration I pose is tenuous but look at this thread and see
the statistics. We can argue about the sample size or the subject population but
if you take this sample as broadly representative, then clearly most people have
auto updates turned off. Otherwise you would see all 1.6.0.7 and above right?

Maybe I misinterpret the stats below but they come from your own deployJava.js
so they must be right -- right?

http://forums.java.net/jive/thread.jspa?threadID=53140&tstart=0

Here are results for 1,033 visits of a site that hits a wide spectrum of users (a freeware utility I wrote to do a print screen).

User Defined Value Visits Pages/Visit Avg. Time on Site % New Visits Bounce Rate
1. Java: 1.6.0 516 2.45 00:00:58 95.16% 1.55%
2. Java: none 300 2.41 00:00:58 93.33% 1.67%
3. Java: 1.5.0 82 2.27 00:00:34 89.02% 2.44%
4. Java: 1.6.0_10 38 2.66 00:01:08 92.11% 0.00%
5. Java: 1.4.2 33 2.33 00:00:56 93.94% 0.00%
6. (not set) 31 1.48 00:00:20 100.00% 67.74%
7. Java: 1.5.0_06 8 3.62 00:02:14 100.00% 0.00%
8. Java: 1.6.0_07 7 2.57 00:00:36 100.00% 0.00%
9. Java: 1.6.0_02 3 2.67 00:00:48 100.00% 0.00%
10. Java: 1.4.2_03 2 3.00 00:00:32 100.00% 0.00%
11. Java: 1.6.0_03 2 1.50 00:00:10 100.00% 0.00%
12. Java: 1.8.0 2 3.00 00:00:20 100.00% 0.00%
13. Java: 1.4.1_02 1 3.00 00:00:55 100.00% 0.00%
14. Java: 1.4.2_05 1 1.00 00:00:01 100.00% 0.00%
15. Java: 1.4.2_06 1 1.00 00:00:01 100.00% 0.00%
16. Java: 1.4.2_18 1 19.00 00:06:11 100.00% 0.00%
17. Java: 1.5.0_05 1 3.00 00:01:34 100.00% 0.00%
18. Java: 1.5.0_09 1 4.00 00:00:09 100.00% 0.00%
19. Java: 1.5.0_15 1 1.00 00:00:01 100.00% 0.00%
20. Java: 1.6.0_05 1 3.00 00:00:58 100.00% 0.00%
21. Java: 1.6.0_06 1 2.00 00:00:07 100.00% 0.00%

cowwoc
Offline
Joined: 2003-08-24
Points: 0

I knew this would come up ;)

1) Please note that only one person has posted their JRE statistics. We'd need many more people to do the same before we can be sure the results are accurate.

2) Most of the numbers indicate a JRE *family* not update version. This means that we don't really know what version they're running. We know that 50% user Java6 which is fairly new. As for the 20% or so using Java 1.5 I'd bring up the question what version auto-update was enabled by default.

3) Finally, I think you need to consider the difference between people who understand what updating Java means and chose not to do so versus the same people who are afraid to install Windows security fixes.

I've run across a lot of non-technical individuals that have had a negative history with malware pop-ups and they cannot differentiate between desktop pop-ups versus website pop-ups. As a defensive mechanism they simply don't click on any of them. I don't think there is anything (simple) we can do there but you shouldn't count those people as advocates of turning auto-update off.

31337
Offline
Joined: 2007-12-28
Points: 0

I forgot to post this link as well:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6294083

Tells you the Registry locations and a little more info.

advaits
Offline
Joined: 2010-08-03
Points: 0

I installed the most recent version available (Version 6 Update 21), and in the Java Contol Panel there is no 'Update' tab for disabling the autoupdate function!!

As per this page (http://www.java.com/en/download/help/java_update.xml), there must have been an 'Update' tab in Java Control Panel.

ingridy
Offline
Joined: 2004-11-17
Points: 0

AutoUpdate is enabled on the first Applet launch, even when the JRE was installed with Auto-Update disabled using JAVAUPDATE=0 or AUTOUPDATECHECK=0 option. Enabling AutoUpdate is recommended since the latest updates, which may contain security and critical fixes, will be automatically downloaded.

AutoUpdate can only be manually disabled through the Java Control Panel.

dcooke
Offline
Joined: 2007-12-18
Points: 0

I understand that in most instances keeping autoupdate enabled is a sensible thing. However I am attempting to package JRE for a company-wide deployment where the company wants to have version control over all applications. Part of that control is preventing autoupdates of all applications.

Do you know of any automated way to disable the updates, other than through the control panel?

Thank you.

31337
Offline
Joined: 2007-12-28
Points: 0

dcooke,

Are you deploying JRE in a windows environment? If so I have posted text of a VBS that can be run via Group Policy or login script that will disable the Auto Updates. I'm currently using it at my company to disable the Auto Update "feature". If you need further help drop me a line via e-mail.

Option Explicit
On Error Resume Next
'-------------------------------------------------------------------
' TITLE: DisJava.vbs
' Purpose: Script will disable the Java (JRE) Auto Update "feature".
' NOTE: Please delete Descriptions that are older than 2 months from
' from this header in order to keep the script documentation here
' in this header clean.
' Author: Brad Hall
' Date Created: 12/28/07
' Last Modified By: Brad Hall
' Description of modifications with dates:
' 12/28/07 - Created script and organized/commented sections
'-------------------------------------------------------------------

' Declare Global Variables and comment their use
Dim oSh 'Shell Scripting object

' Initialize objects to be used in multiple Sub routines
Set oSh = CreateObject("wScript.Shell") 'Shell Object

' Declare Global Constants and comment their use
Const sReg15 = "HKLM\SOFTWARE\JavaSoft\Java Update\Policy\EnableAutoUpdateCheck"
Const sReg16 = "HKLM\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate"

' Run Subs and comment use for each
sDisJavaUpdate
Kill_Obj 'Last sub to run as it will kill global objects and variables

' Begin Subs
Sub sDisJavaUpdate
On Error Resume Next
' Purpose: Checks to verify if the Auto Updates are Enabled or not. If they are
' then the script will disable the Auto Updates

Dim bReg

'Begin algorithms for Sub
bReg = oSh.RegRead(sReg15)
'WScript.Echo Err.Number & " " & Err.Source & " " & bReg 'Used for Testing
If Err.Number <> 0 Or bReg <> "0" Then
oSh.RegWrite sReg15, "0", "REG_DWORD"
End If
bReg = ""
Err.Clear

bReg = oSh.RegRead(sReg16)
If Err.Number <> 0 Or bReg <> "0" Then
oSh.RegWrite sReg16, "0", "REG_DWORD"
End If
bReg = ""
Err.Clear

End Sub

Sub Kill_Obj
On Error Resume Next
' Purpose: Kill all global objects and set all global variables by setting them to Nothing and "" (respectively)
Set oSh = Nothing
'Add other global objects and variables

End Sub

99donander
Offline
Joined: 2009-05-22
Points: 0

I copied the code to notepad, saved as disjava.vbs and "all files" (not text), ran it

cscript disjava.vbs

and got this error

C:\Junk\disjava.vbs(43, 15) Microsoft VBScript compilation error: Expected 'Then'

Am I doing something wrong?

Thanks,
Don