Я просто настраиваю свой новый ноутбук с 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 при каждой установке.