题 似乎无法禁用Java自动更新


我只是调整了我的新Windows 7笔记本电脑,并希望禁用自动Java更新(从而杀死愚蠢的jusched.exe后台进程),但我似乎无法让它实际关闭它。

我找到了Java控制面板小程序,并在“更新”选项卡上找到了应该控制它的设置。我可以关闭它们,应用它们,并成功关闭对话框。但是,如果我立即再次打开对话框备份,我发现实际上并没有进行更改。我已经尝试了很多次,它只是不需要。那是怎么回事?

我还尝试禁用系统托盘中的图标并获得相同的效果。但是,更改Temporary Internet Files缓存的大小。

有任何想法吗?谢谢!


74
2018-05-29 06:19




对于未来的读者来说只需要一些后续内容:我正在使用x64版本的Windows 7,我认为这就是问题所在。我的猜测是Java控制面板小程序试图在我的64位机器上安装32位Java,因此尝试更改错误位置的设置(即使在64位操作系统下,IE通常以32位进程运行,所以我想要32位位版Java)。 - Scott Bussinger
还在超级用户讨论: superuser.com/questions/130961 - Chris W. Rea
你猜怎么着!在最新版本的Java JRE 6中,frickin“更新”面板选项已被删除! - hopeseekr
@hopeseekr回来了。 :) - Mateen Ulhaq
@ScottBussinger:与纯32位Windows 7系统完全相同的问题。 - MarcH


答案:


实际上这个问题是由于控制面板需要管理员权限才允许Java控制面板保存您的设置(由于已经很久没有修复,感谢 Sun Microsystems)。

首先,您需要在以下位置之一中找到Java控制面板可执行文件:

C:\Program Files\Java\jre[version]\bin\javacpl.exe

要么

C:\Program Files (x86)\Java\jre[version]\bin\javacpl.exe

路径将根据系统的体系结构和已安装的Java版本而有所不同。例如,在64位版本的Windows上安装的32位版本的Java 7将包含在:

C:\Program Files (x86)\Java\jre7\bin\javacpl.exe

找到该文件后,右键单击该文件并选择“以管理员身份运行”。

从那里,取消选中“更新”选项卡上的“自动检查更新”,然后单击“确定”。您可以通过导航到通常通过控制面板的同一屏幕来验证是否已应用该设置。

您还可以检查正在运行的进程以查看它 jusched.exe 不再运行 - 当您单击“确定”时它会自动终止。


79
2018-06-16 14:23



你猜怎么着!在最新版本的Java JRE 6中,frickin“更新”面板选项已被删除!谈谈恶意软件。 - hopeseekr
@hopeseekr同意你的意见!现在答案不适用于JRE 6 ... @Lai我们有什么解决方法吗? - Nam G VU
Java 7再次具有“更新”选项卡。 - Iszi
实际上这对java7版本不起作用 - inf.ig.sh
如果,则不显示“更新”选项卡 javacpl.exe 未使用管理权限打开。 - Auron


您可以使用注册表项禁用更新,

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate

或者如果您使用64位Windows

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate

设置为0可禁用此密钥。

此方法的优点是它为所有用户禁用它。


33
2017-12-02 15:48



这是自JRE 6 Update 21以来唯一有效的选项。 - hopeseekr
我打开了HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Update \ Policy,它没有任何名为'EnableJavaUpdate'的键或值。仅(默认),国家,PostStatysUrl键。 - Spiderman
在Win64(运行Windows 7)上,此键现在是: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate - ekawas
... WOW6432Node选项是否也可以控制64位版本? - Ashley Steel
这种方法在JRE u33中是否仍然有效? - blak3r


只需删除程序从注册表启动 - 如果从HKLM \ SOFTWARE \ Microsoft \ CurrentVersion \ Run删除


10
2018-05-29 06:23



谢谢,我知道我可以删除注册表项,但我无法弄清楚为什么这样做“正确”的方式不起作用。我认为它必须是某种权限问题。 - Scott Bussinger
这是一个hacky但很快的答案。请参阅没有灵魂的答案以获得支持的答案。 - Ryan Bolger
您也可以随时删除该可执行文件。值得一提的是。 - sinping


在Windows 7 OEM上

在64位系统上:  使用管理员priveledges运行C:\ Program Files(x86)\ Java \ jre6 \ bin \ javacpl.exe

在32位系统上:  使用管理员priveledges运行C:\ Program Files \ Java \ jre6 \ bin \ javacpl.exe

为此,请按照Windows资源管理器浏览器中的路径并右键单击javacpl.exe,然后选择“以管理员身份运行”

取消选中“自动检查更新”更新功能,然后单击“从不检查”,您就完成了。


9
2017-12-26 01:03



正如其他答案所述,该复选框似乎在1.6.0_21左右丢失了 - jimbojw


从Sysinternals / Microsoft下载Autoruns(live.sysinternals.com/autoruns.exe),并在“Logon”选项卡下取消选中“SunJavaUpdateSched”。


7
2018-05-29 06:29



没有出现在Logon下,但在Everything下做了。 - rwallace
Sysinternals工具非常好。 - jimbojw


您可以从系统配置(运行:msconfig)执行此操作。在“启动”选项卡中,取消选中不需要的服务。


1
2018-05-29 06:36



我也想知道这个...想知道为什么没有人提到它来阻止自动启动的糟糕更新服务。最简单的解决方案,而不是搞乱注册表和东西。 - killjoy


这是我的Java脚本安装,它在安装时禁用自动更新组件: http://blog.stealthpuppy.com/unattended/unattended-install-sun-jre-16-update-10


1
2018-06-24 17:02





警告:下次你安装一个较新的Java时,它会回到“检查更新”;至少它确实让我在Windows 7上将Java 6更新15转换为Java 6更新16。

所以现在,我发现永久保持禁用“检查更新”的唯一方法是执行脚本安装,例如 http://forums.sun.com/thread.jspa?threadID=5198773 或者这一个:

blog.stealthpuppy.com/scriptcorner/unattended-install-sun-jre-16-update-10

对于所有用户来说,为了保持禁用而需要检查更新还有很多功能,最好的解决方案似乎是 JRE 1.6.0_05自动更新 - deployment.properties问题 每次安装时都涉及deployment.properties文件。


0
2017-10-12 20:07



前两个链接被破坏了。 - Peter Mortensen


我需要在企业中这样做 活动目录 许多机器上的环境。我在互联网上发现了很多帖子,主要是以各种方式详细说明注册表值的变化 EnableJavaUpdate 和 EnableAutoUpdateCheck 在 HKLM 和 HKCU

虽然前者工作,但它不是我想要的,因为它禁用了 更新 Java控制面板中的选项卡,我想保留手动运行。翻转 EnableAutoUpdateCheck 至 0 无论我把它放在哪个配置单元都不起作用。我不知道Java最近是如何存储它的,但是在我的Windows 7盒子上输入的值甚至都不是DWORD。这是一个二进制值,我尝试复制并推送到其他工作站,但这不起作用。

我最终只是使用以下命令阻止jusched.exe运行 GPO 设置:

Users Config → Policies → Admin Templates → System → Don't run specified Windows applications

这会阻止更新自动运行,但它保留了手动运行它的能力。


0
2018-06-24 00:46