我找到了Java控制面板小程序,并在更新选项卡上找到了应该控制它的设置。我可以关闭它们,应用它们,然后成功关闭对话框。但是,如果我立即再次打开对话框备份,则会发现实际上并未进行更改。我已经尝试了无数次,只是没有用。这是怎么回事?
我还尝试禁用系统托盘中的图标,并获得了相同的效果。但是,可以更改Internet临时文件缓存的大小。
有什么想法吗?谢谢!
#1 楼
实际上,此问题是由于控制面板需要管理员特权才能允许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
不再运行-它已经单击确定后自动终止。评论
你猜怎么了!在最新版本的Java JRE 6中,删除了“更新”面板选项!谈论恶意软件。
–hopeseekr
2011年3月1日14:34
@hopeseekr同意你的观点!现在答案不适用于JRE 6 ... @Lai我们有解决方法吗?
– Nam G VU
2011年6月24日18:45
Java 7再次具有“更新”选项卡。
– Iszi
2012年7月3日在18:15
实际上,这不适用于java7版本
–科学
13年6月14日在9:20
如果未使用管理特权打开javacpl.exe,则“更新”选项卡不会出现。
–奥龙
2014年11月1日10:21
#2 楼
您可以使用注册表项HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate
禁用更新,或者如果您使用64位Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate
设置为0可禁用此密钥。
此方法的优点在于,它将对所有用户禁用。
评论
从JRE 6 Update 21开始,这是唯一可行的选项。
–hopeseekr
2011年3月1日14:35
我打开了HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Update \ Policy,它没有名为“ EnableJavaUpdate”的任何键或值。仅(默认),国家/地区,PostStatysUrl键。
–蜘蛛侠
2011年3月4日在21:04
在Win64(运行Windows 7)上,此密钥现在为:HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ JavaSoft \ Java Update \ Policy \ EnableJavaUpdate
– ekawas
2011年6月26日14:57
... WOW6432Node选项也可以控制64位版本吗?
–阿什利
2012年4月11日上午9:25
这种方法在JRE u33中仍然有效吗?
–blak3r
2012年10月11日在22:12
#3 楼
只需从启动注册表中删除程序-如果从HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
删除
评论
谢谢,我知道我可以删除注册表项,但是我不知道为什么用“正确”的方法行不通。我认为这一定是某种权限问题。
–斯科特·布辛格(Scott Bussinger)
09年5月29日在6:39
这是骇人但快速的答案。请参阅无灵魂的答案以获取支持的答案。
– Ryan Bolger
09年6月24日在15:40
您也可以随时删除该可执行文件。值得一提。
– in
2010-4-17的7:36
#4 楼
在Windows 7 OEM上在64位系统上:
以管理员权限运行C:\ Program Files(x86)\ Java \ jre6 \ bin \ javacpl.exe
在32位系统上:
以管理员权限运行C:\ Program Files \ Java \ jre6 \ bin \ javacpl.exe
为此,请按照Windows资源管理器浏览器中的路径操作,右键单击javacpl.exe,然后选择“以管理员身份运行”
取消选中“自动检查更新”更新功能,然后单击“从不检查”即可。
评论
如其他答案所述,该复选框似乎在1.6.0_21附近丢失了
–珍宝
2011年11月9日下午13:27
#5 楼
从Sysinternals / Microsoft下载Autoruns(live.sysinternals.com/autoruns.exe),然后取消选中“登录”选项卡下的“ SunJavaUpdateSched”。评论
没有出现在登录下,但是出现在所有下。
–rwallace
2011年9月7日23:47
Sysinternals工具非常出色。
–珍宝
2011年11月9日下午13:26
#6 楼
您可能可以从“系统配置”中执行此操作(运行:msconfig)。在“启动”选项卡中,取消选中不需要的服务。评论
我也想知道这一点...想知道为什么没有人提到它阻止自动启动该糟糕的更新服务。最简单的解决方案,而不是弄乱注册表和内容。
– Killjoy
18年8月25日在23:31
#7 楼
这是我的Java脚本安装,可在安装时禁用自动更新组件:http://blog.stealthpuppy.com/unattended/unattended-install-sun-jre-16-update-10#8 楼
我需要在许多计算机上的企业Active Directory环境中执行此操作。我在Internet上找到了很多帖子,主要以各种方式详细介绍了EnableJavaUpdate
和EnableAutoUpdateCheck
中注册表值HKLM
和HKCU
的变化。前者虽然奏效,但不是我想要的,因为它禁用了我希望保留用于手动运行的Java控制面板中的“更新”选项卡。不管我将哪个蜂巢放入,都无法将
EnableAutoUpdateCheck
翻转到0
。我不知道Java存储方式最近是否发生了变化,但该值甚至没有在Windows 7盒中键入DWORD。这是一个二进制值,我尝试将其复制并推送到其他工作站,但没有用。我最终只是使用以下GPO设置阻止了jusched.exe的运行:
Users Config → Policies → Admin Templates → System → Don't run specified Windows applications
阻止更新自动运行,但保留了手动运行更新的功能。
评论
对于那些追随我的人:prl77的回答是Win10 x64上的Java 8对我有效。 Oracle显然为此功能使用了一个二进制注册表项,该注册表项在每次更新时都会重新激活(即使没有更新也似乎是随机激活的。)避免使用组策略运行确实可以解决问题。
– Logan Jones
19年4月8日在16:39
#9 楼
警告:下次您安装较新的Java时,它似乎重新打开了“检查更新”。至少对我来说将Windows 6上的Java 6 Update 15升级到Windows 7上的Java 6 Update 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自动更新-部署。每次安装过程中涉及deploy.properties文件的属性问题。
评论
前两个链接断开。
– Peter Mortensen
16年12月17日在19:17
评论
对于将来的读者来说,只是一些后续操作:我正在使用Windows 7的x64版本,而我认为这就是问题所在。我的猜测是Java控制面板小程序试图在错误的位置更改设置,因为我在64位计算机上安装了32位Java(即使在64位操作系统下,IE也通常以32位进程运行,因此我希望32位Java版本)。超级用户也在讨论中:superuser.com/questions/130961
你猜怎么了!在最新版本的Java JRE 6中,删除了frickin“更新”面板选项!
@hopeseekr又回来了。 :)
@ScottBussinger:使用纯32位Windows 7系统时,完全相同。