Здається, не можна вимкнути автоматичне оновлення Java


77

Я просто налаштував свій новий ноутбук Windows 7 і хотів вимкнути автоматичне оновлення Java (і тим самим знищити нерозумний фоновий процес jusched.exe), але я не можу зробити так, щоб його фактично вимкнути.

Я знайшов аплет панелі управління Java і знайшов налаштування на вкладці «Оновлення», які повинні контролювати його. Я можу їх вимкнути, застосувати та успішно закрити діалогове вікно. Але якщо я просто знову відкрию резервну копію діалогу, я бачу, що зміни насправді не були внесені. Я пробував це багато разів, і він просто не займає. Що з цим?

Я також намагався відключити піктограму в системному треї і отримав той же ефект. Однак зміна розміру кешу тимчасових файлів Інтернет працює.

Будь-які ідеї? Дякую!


1
Лише трохи про подальші дії для майбутніх читачів: я використовую x64 версію Windows 7, і я думаю, що звідси виникла проблема. Я здогадуюсь, що аплет панелі управління Java намагається змінити налаштування в неправильних місцях, оскільки я встановив 32-бітну Java на моїй 64-бітній машині (IE, як правило, працює як 32-бітний процес навіть у 64-й ОС, тому я хотів 32 бітова версія Java).
Скотт Бассінгер

2
Також обговорюється на Super User: superuser.com/questions/130961
Chris W. Rea

Вгадай що! В останній версії Java JRE 6 параметр панелі Frickin "Оновити" було ВИМОГА!
hopeseekr

@hopeseekr Повернувся. :)
Mateen Ulhaq

@ScottBussinger: точно така ж проблема з чистою 32-бітною системою Windows 7.
Марч

Відповіді:


80

Насправді ця проблема пов'язана з тим, що панель управління вимагає привілеїв адміністратора, щоб дозволити панелі управління Java зберігати ваші налаштування (вона не була виправлена ​​століттями, завдяки Sun Microsystems ).

По-перше, потрібно знайти виконуваний панель управління Java в одному з наступних місць:

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

або

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

Шлях буде відрізнятися залежно від архітектури вашої системи та версії Java, яку ви встановили. Наприклад, 32-бітна версія Java 7, встановлена ​​в 64-бітній версії Windows, матиме її у:

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

Виявивши файл, клацніть правою кнопкою миші та виберіть "Запустити як адміністратор".

Звідти зніміть прапорець "Перевірити автоматичні оновлення" на вкладці "Оновлення" та натисніть кнопку ОК Ви можете переконатися, що цей параметр застосовано, перейшовши на той самий екран, що і зазвичай, через Панель управління.

Ви також можете перевірити свої запущені процеси, щоб побачити, що jusched.exeвін більше не працює - він автоматично припинявся, натиснувши кнопку ОК.


3
Вгадай що! В останній версії Java JRE 6 параметр панелі Frickin "Оновити" було ВИМОГА! Поговоріть про MALWARE.
hopeseekr

@hopeseekr Погоджуюся з вами! Тепер відповідь не стосується JRE 6 ... @Lai Чи є якісь обходи для нас?
Нам Г ВУ

1
У Java 7 знову вкладка «Оновлення».
Іссі

1
насправді це не працює для версій
java7

1
Вкладка «Оновлення» не з’являється, якщо javacpl.exeїї не відкрити з правами адміністратора.
Аврон

34

Ви можете відключити оновлення за допомогою ключа реєстру,

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

або якщо ви використовуєте 64-бітну Windows

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

Установіть 0, щоб відключити цю клавішу.

Перевага цього методу полягає в тому, що він відключає його для всіх користувачів.


2
Це єдиний варіант, який працює з моменту оновлення JRE 6 21.
hopeseekr

Я відкрив HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Update \ Policy, і він не має жодного ключа або значення під назвою "EnableJavaUpdate". Тільки (за замовчуванням), країна, PostStatysUrl.
Людина-павук

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

Дякую, я знав, що можу видалити запис реєстру, але не можу зрозуміти, чому це зробити "правильним" способом не працює. Я вважаю, що це повинна бути якась проблема дозволів.
Скотт Бассінгер

1
Це хитра, але швидка відповідь. Дивіться відповідь бездушної для підтримуваної відповіді.
Райан Болгер

1
Ви завжди можете просто видалити цей виконуваний файл. Просто варто згадати.
спінання

9

На Windows 7 OEM

У 64-бітовій системі: запустіть C: \ Program Files (x86) \ Java \ jre6 \ bin \ javacpl.exe з привілеями адміністратора

У 32-бітовій системі: запустіть C: \ програмні файли \ Java \ jre6 \ bin \ javacpl.exe з привілеями адміністратора

Для цього дотримуйтесь контуру в браузері Windows Explorer і клацніть правою кнопкою миші javacpl.exe, а потім виберіть "Запустити як адміністратор"

Зніміть прапорець "Перевірити автоматичне оновлення" Оновити функцію та натисніть "Ніколи не перевіряйте", і ви закінчите.


Як згадується в інших відповідях, цей прапорець, здається, пропав близько 1.6.0_21
jimbo

7

Завантажте Autoruns (live.sysinternals.com/autoruns.exe) від Sysinternals / Microsoft та зніміть прапорець "SunJavaUpdateSched" на вкладці "Вхід".


Не з'являвся під "Логоном", але "під усім".
rwallace

Інструменти Sysinternals відмінні.
jimbo

1

Можливо, ви можете зробити це з конфігурації системи (Виконати: msconfig). На вкладці Запуск зніміть прапорець непотрібного сервісу.


Мені теж було цікаво з цього приводу ... цікаво, чому ніхто не згадав про це, щоб зупинити цю паршиву послугу оновлення від автозапуску. Найпростіше рішення замість того, щоб возитися з реєстром і іншим.
killjoy


1

Мені це потрібно було робити в середовищі корпоративного Active Directory на багатьох машинах. Я знайшов досить багато публікацій в Інтернеті, в основному детально описуючи різні зміни змін у значеннях реєстру EnableJavaUpdateі EnableAutoUpdateCheckв, HKLMі в HKCU.

У той час як перший працював, це було не те, чого я хотів, тому що він відключив вкладку « Оновлення » на панелі управління 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. Оракул, очевидно, перейшов до двійкового ключа реєстру для цієї функції, яка знову активується з кожним оновленням (і, здавалося б, навмання, навіть без оновлення.) Продовжуючи стримувати роботу із груповою політикою, все ж таки виправдався трюк.
Логан Джонс

0

Попередження: Схоже, наступного разу, коли ви встановите більш нову Java, вона знову повертається до "перевірки на оновлення"; принаймні, це зробило для мене оновлення Java 6 для оновлення 15 для Java 6 для оновлення 16 для Windows 7.

Тому наразі єдиний спосіб, коли я можу назавжди відключити "перевірку на оновлення", - це робити встановлені сценарії, такі як http://forums.sun.com/thread.jspa?threadID=5198773 або цей:

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

Існує багато проблем, щоб отримати перевірку на наявність оновлень для всіх користувачів, а найкращим рішенням, здається, є автоматичне оновлення JRE 1.6.0_05 - проблеми розгортання.


Перші дві ланки розірвані.
Пітер Мортенсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.