Назад | Перейти на главную страницу

Кажется, не удается отключить автоматическое обновление Java

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

Я нашел апплет панели управления Java и нашел настройки на вкладке «Обновление», которые должны управлять им. Я могу отключить их, применить и успешно закрыть диалог. Но если я сразу же снова открою резервную копию диалога, я увижу, что на самом деле изменений не было. Я пробовал это много раз, но это не помогло. Что с этим?

Я также попытался отключить значок в системном трее и получил тот же эффект. Однако изменение размера кеша временных файлов Интернета работает.

Любые идеи? Спасибо!

На самом деле эта проблема связана с тем, что панели управления требуются права администратора, чтобы позволить панели управления 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 больше не работает - он был автоматически прекращен при нажатии кнопки ОК.

Вы можете отключить обновление с помощью ключа реестра,

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

или если вы используете 64-битную Windows

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

Установите 0, чтобы отключить этот ключ.

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

Просто удалите программу из автозагрузки в реестре - удалите если из

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

В 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, затем выберите «Запуск от имени администратора».

Снимите флажок «Проверять обновления автоматически» и нажмите «Никогда не проверять», и все готово.

Загрузите Autoruns (live.sysinternals.com/autoruns.exe) из Sysinternals / Microsoft и снимите флажок «SunJavaUpdateSched» на вкладке «Вход в систему».

Вероятно, вы можете сделать это из Конфигурации системы (Выполнить: msconfig). На вкладке Автозагрузка снимите отметку с нежелательной службы.

Вот моя установка по сценарию для Java, которая отключает компонент автообновления во время установки: http://blog.stealthpuppy.com/unattended/unattended-install-sun-jre-16-update-10

Мне нужно было сделать это на предприятии 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

Это предотвращает автоматический запуск обновления, но сохраняет возможность запускать его вручную.

Предупреждение: похоже, что при следующей установке более новой 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 Автоматическое обновление - проблемы с deployment.properties с использованием файла deployment.properties при каждой установке.