
Как сделать так, чтобы Java обновлялась автоматически безjusched.exeпроцесс, работающий все время в фоновом режиме и управляющий моментом, когда должна происходить проверка обновлений?
решение1
Предположения:
- Windows 7 64-бит
- Java 32-бит
Отключить автоматические обновления Java:Изменить параметры обновления Java.
Создаватьjava_check_update.ps1Скрипт PowerShell со следующим содержимым:
$currVer = Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" -name "CurrentVersion"
if (!$currVer.'CurrentVersion') {
Exit
}
$famVerStr = ('Java' + $currVer.'CurrentVersion'.Split(".")[1] + 'FamilyVersion')
$famVer = Get-ItemProperty "hklm:\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment" -name $famVerStr
if (!$famVer.$famVerStr) {
Exit
}
$java_version = $famVer.$famVerStr
$url = "http://javadl-esd.sun.com/update/" + $currVer.'CurrentVersion' + ".0/map-" + $currVer.'CurrentVersion' + ".0.xml"
$c = New-Object System.Net.WebClient
$xml = $c.DownloadString($url)
$p = [xml]$xml
$n = $p.SelectSingleNode('java-update-map/mapping[version="' + $java_version + '"]')
if ($n) {
#update available
cmd.exe /c "C:\Program Files (x86)\Common Files\Java\Java Update\jucheck.exe"
}
Создаватьjava_check_update.vbsVBScript со следующим содержимым:
Set oShell = CreateObject("WScript.Shell")
oShell.Run "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File ""PATH_TO_POWERSHELL_SCRIPT""", 0
ПУТЬ_К_СКРИПТУ_POWERSHELLнапример:D:\Scripts\java_check_update.ps1
Добавить новую задачу в планировщик задач для запуска скриптаjava_check_update.vbs(полный путь к файлу) каждый день, неделю или месяц.
решение2
Вы также можете использовать эту программуавтоматическое обновление Java. Запланируйте его работу в фоновом режиме, и он все сделает автоматически.