ดูเหมือนจะไม่สามารถปิดใช้งานการอัปเดตอัตโนมัติของ Java


77

ฉันเพิ่งปรับเปลี่ยนแล็ปท็อป Windows 7 ใหม่ของฉันและต้องการปิดการใช้งานการอัปเดตอัตโนมัติของ Java (และทำให้กระบวนการพื้นหลัง jusched.exe โง่) แต่ฉันไม่สามารถปิดใช้งานได้จริง

ฉันพบแอปเพล็ต Java Control Panel และพบการตั้งค่าบนแท็บอัปเดตที่ควรควบคุม ฉันสามารถปิดใช้งานและปิดกล่องโต้ตอบได้สำเร็จ แต่ถ้าฉันเพิ่งเปิดการสำรองข้อมูลโต้ตอบอีกครั้งฉันเห็นว่าการเปลี่ยนแปลงนั้นไม่ได้เกิดขึ้นจริง ฉันลองมาหลายครั้งแล้ว แต่ก็ไม่ได้ใช้ เกิดอะไรขึ้นกับสิ่งนั้น

ฉันยังพยายามที่จะปิดการใช้งานไอคอนในซิสเต็มเทรย์และได้ผลเช่นเดียวกัน อย่างไรก็ตามการเปลี่ยนขนาดของแคชไฟล์อินเทอร์เน็ตชั่วคราวทำงานอย่างไร

ความคิดใด ๆ ขอบคุณ!


1
เพียงแค่ติดตามเล็กน้อยสำหรับผู้อ่านในอนาคต: ฉันใช้ Windows 7 รุ่น x64 และฉันคิดว่านั่นเป็นปัญหาที่มาจาก ฉันเดาว่าแอปเพล็ตแผงควบคุม Java กำลังพยายามเปลี่ยนการตั้งค่าในสถานที่ที่ไม่ถูกต้องตั้งแต่ฉันติดตั้ง Java 32 บิตบนเครื่อง 64 บิตของฉัน (IE มักจะทำงานเป็นกระบวนการ 32 บิตแม้จะอยู่ภายใต้ระบบปฏิบัติการ 64 บิตดังนั้นฉันต้องการ 32 Java เวอร์ชันบิต)
Scott Bussinger

2
นอกจากนี้ยังมีการกล่าวถึงใน Super ผู้ใช้: superuser.com/questions/130961
คริสดับเบิลยูเรีย

เดาสิ! ใน Java JRE 6 เวอร์ชันล่าสุดตัวเลือกพาเนล "อัพเดต" frickin ถูกลบแล้ว!
hopeeekr

@hopeseekr มันกลับมาแล้ว :)
Mateen Ulhaq

@ScottBussinger: ปัญหาเดียวกันแน่นอนกับระบบ Windows 32 บิตบริสุทธิ์
MarcH

คำตอบ:


80

อันที่จริงปัญหานี้เกิดจากการที่แผงควบคุมที่ต้องใช้สิทธิ์ผู้ดูแลระบบเพื่อช่วยให้แผงควบคุม Java เพื่อบันทึกการตั้งค่าของคุณ (มันยังไม่ได้รับการแก้ไขสำหรับทุกวัยขอบคุณSun Microsystems )

ก่อนอื่นคุณต้องค้นหา Java Control Panel ที่ทำงานได้ในตำแหน่งใดตำแหน่งหนึ่งต่อไปนี้:

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

หรือ

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

พา ธ จะแตกต่างกันไปขึ้นอยู่กับสถาปัตยกรรมระบบของคุณและเวอร์ชันของ Java ที่คุณติดตั้งไว้ ตัวอย่างเช่น Java 7 รุ่น 32 บิตที่ติดตั้งบน Windows รุ่น 64 บิตจะมีใน:

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

เมื่อคุณพบไฟล์คลิกขวาแล้วเลือก "Run as administrator"

จากนั้นให้ยกเลิกการทำเครื่องหมาย "ตรวจหาการอัปเดตอัตโนมัติ" บนแท็บอัปเดตแล้วคลิกตกลง คุณสามารถตรวจสอบว่าการตั้งค่าถูกนำไปใช้โดยการนำทางไปยังหน้าจอเดียวกับที่คุณทำผ่านแผงควบคุม

นอกจากนี้คุณยังสามารถตรวจสอบกระบวนการทำงานของคุณเพื่อดูว่าjusched.exeไม่มีการใช้งานอีกต่อไป - มันจะถูกยกเลิกโดยอัตโนมัติเมื่อคุณคลิกตกลง


3
เดาสิ! ใน Java JRE 6 เวอร์ชันล่าสุดตัวเลือกพาเนล "อัพเดต" frickin ถูกลบแล้ว! พูดคุยเกี่ยวกับ MALWARE
hopeeekr

@hopeseekr เห็นด้วยกับคุณ! ตอนนี้คำตอบนี้ใช้ไม่ได้กับ JRE 6 ... @Lai มีวิธีแก้ปัญหาสำหรับเราหรือเปล่า?
Nam G VU

1
Java 7 มีแท็บอัปเดตอีกครั้ง
Iszi

1
จริงๆแล้วมันใช้ไม่ได้กับรุ่น
java7

1
แท็บอัปเดตจะไม่ปรากฏหากjavacpl.exeไม่ได้เปิดด้วยสิทธิ์ระดับผู้ดูแลระบบ
Auron

34

คุณสามารถปิดการใช้งานการอัพเดทโดยใช้รีจิสตรีคีย์

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

หรือถ้าคุณใช้ Windows 64 บิต

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

ตั้งค่าเป็น 0 เพื่อปิดใช้งานคีย์นี้

ข้อดีของวิธีนี้คือมันปิดการใช้งานสำหรับผู้ใช้ทั้งหมด


2
นี่เป็นตัวเลือกเดียวที่ใช้งานได้ตั้งแต่ JRE 6 อัปเดต 21
hopeeekr

ฉันเปิด HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Update \ Policy และไม่มีคีย์หรือค่าใด ๆ ที่เรียกว่า 'EnableJavaUpdate' เฉพาะ (ค่าเริ่มต้น), ประเทศ, คีย์ PostStatysUrl
Spiderman

10
ใน Win64 (ใช้งาน Windows 7) กุญแจนี้อยู่ในขณะนี้:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate
ekawas

... ตัวเลือก WOW6432Node ควบคุมเวอร์ชัน 64 บิตหรือไม่
แอชลีย์

วิธีการนี้ยังใช้งานได้ใน JRE u33 หรือไม่?
blak3r

10

เพียงแค่ลบโปรแกรมจากการเริ่มต้นขึ้นในรีจิสทรี - ลบถ้าจาก

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

ขอบคุณฉันรู้ว่าฉันสามารถลบรายการรีจิสตรีได้ แต่ฉันไม่สามารถทราบได้ว่าเหตุใดการทำในแบบ "ถูกต้อง" จึงไม่ทำงาน ฉันคิดว่ามันต้องเป็นปัญหาสิทธิ์บางอย่าง
Scott Bussinger

1
นี่คือคำตอบที่แฮ็ก แต่รวดเร็ว ดูคำตอบของอนัตตาสำหรับคำตอบที่รองรับ
Ryan Bolger

1
คุณสามารถลบไฟล์ที่เรียกใช้งานนั้นได้เช่นกัน เพียงแค่มูลค่าการกล่าวขวัญ
sinping

9

บน Windows 7 OEM

บนระบบ 64 บิต: เรียกใช้ C: \ Program Files (x86) \ Java \ jre6 \ bin \ javacpl.exe พร้อมกับผู้ดูแลระบบระดับสูง

บนระบบ 32 บิต: เรียกใช้ C: \ Program Files \ Java \ jre6 \ bin \ javacpl.exe พร้อมผู้ดูแลระบบระดับพรีเวด

โดยทำตามเส้นทางในเบราว์เซอร์ Windows Explorer และคลิกขวาที่ javacpl.exe จากนั้นเลือก "Run as Administrator"

ยกเลิกการทำเครื่องหมายคุณสมบัติ "ตรวจหาการอัปเดตโดยอัตโนมัติ" และคลิกที่ "ไม่ตรวจสอบ" และคุณก็ทำเสร็จแล้ว


ดังที่กล่าวไว้ในคำตอบอื่น ๆ ดูเหมือนว่ากล่องกาเครื่องหมายหายไปประมาณ 1.6.0_21
jimbo

7

ดาวน์โหลด Autoruns (live.sysinternals.com/autoruns.exe) จาก Sysinternals / Microsoft และยกเลิกการเลือก "SunJavaUpdateSched" ใต้แท็บ "Logon"


ไม่แสดงภายใต้การเข้าสู่ระบบ แต่ทำภายใต้ทุกอย่าง
rwallace

เครื่องมือ Sysinternals นั้นยอดเยี่ยม
jimbo

1

คุณสามารถทำได้จาก System Configuration (Run: msconfig) ในแท็บเริ่มต้นให้ยกเลิกการเลือกบริการที่ไม่ต้องการ


ฉันก็สงสัยเกี่ยวกับเรื่องนี้เช่นกัน ... สงสัยว่าทำไมไม่มีใครพูดถึงมันเพื่อหยุดบริการอัปเดตอันร้ายกาจตั้งแต่เริ่มอัตโนมัติ ทางออกที่ง่ายที่สุดแทน messing รีจิสทรีและสิ่ง
killjoy


1

ฉันต้องทำสิ่งนี้ในสภาพแวดล้อมActive Directoryขององค์กรบนเครื่องจำนวนมาก ผมพบว่าค่อนข้างบิตของการโพสต์ทั่วอินเทอร์เน็ตส่วนใหญ่มีรายละเอียดในรูปแบบต่าง ๆ การเปลี่ยนแปลงรีจิสทรีค่าEnableJavaUpdateและEnableAutoUpdateCheckในและHKLMHKCU

ในขณะที่การทำงานก่อนหน้านี้มันไม่ใช่สิ่งที่ฉันต้องการเพราะมันปิดการใช้งานแท็บUpdateในแผงควบคุม Java ซึ่งฉันต้องการเก็บไว้สำหรับการทำงานด้วยตนเอง การพลิกEnableAutoUpdateCheckไปใช้งาน0ไม่ได้โดยไม่คำนึงถึงว่าฉันใส่มันไว้ที่ไหนฉันไม่รู้ว่าเมื่อเร็ว ๆ นี้มีการเปลี่ยนแปลงในวิธีการที่ Java เก็บมันหรือไม่ แต่ค่านั้นไม่ใช่ DWORD ที่พิมพ์ลงในกล่อง Windows 7 มันเป็นค่าไบนารี่ซึ่งฉันลองทำซ้ำและผลักไปยังเวิร์คสเตชั่นอื่น ๆ แต่มันก็ไม่ได้ผล

ฉันลงเอยด้วยการป้องกัน jusched.exe ไม่ให้ทำงานโดยใช้การตั้งค่าGPOต่อไปนี้:

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

สิ่งนี้จะป้องกันไม่ให้การอัปเดตทำงานโดยอัตโนมัติ แต่ก็ยังคงความสามารถในการรันด้วยตนเอง


สำหรับผู้ที่ติดตามฉัน: คำตอบของ prl77 คืออะไรที่เหมาะกับฉันสำหรับ Java 8 บน Win10 x64 เห็นได้ชัดว่า Oracle ไปที่คีย์รีจิสตรีไบนารีสำหรับคุณลักษณะนั้นที่ได้รับการเปิดใช้งานอีกครั้งในการอัปเดตแต่ละครั้ง (และดูเหมือนว่าจะสุ่มโดยไม่มีการอัปเดต) การรักษา jusched ไม่ให้ทำงานกับนโยบายกลุ่ม
Logan Jones

0

คำเตือน: ดูเหมือนว่าในครั้งต่อไปที่คุณติดตั้ง Java รุ่นใหม่จะเปลี่ยนกลับมาเป็น "ตรวจสอบการอัพเดต"; อย่างน้อยก็สำหรับ Java 6 ไปแล้ว 15 ถึง Java 6 update 16 บน Windows 7

ดังนั้นสำหรับตอนนี้วิธีเดียวที่ฉันได้พบว่าปิดการใช้งานอย่างถาวร "ตรวจสอบการอัปเดต" คือการติดตั้งสคริปต์เช่นhttp://forums.sun.com/thread.jspa?threadID=5198773หรืออันนี้:

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

มี gotch-ya จำนวนมากเพื่อรับการตรวจสอบการอัปเดตเพื่อคงการใช้งานสำหรับผู้ใช้ทุกคนและทางออกที่ดีที่สุดน่าจะเป็นJRE 1.6.0_05 Automatic Update - ปัญหาการนำไปใช้งานที่เกี่ยวข้องกับไฟล์ deployment.properties ระหว่างการติดตั้งแต่ละครั้ง


ลิงก์สองลิงก์แรกเสีย
Peter Mortensen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.