Как установить Java JRE с удалением всех предыдущих версий

Обновлено 16.02.2017

Как установить Java JRE с удалением всех предыдущих версийДобрый день уважаемые читатели и подписчики, наверняка перед каждым из вас хоть раз стояла задача, удаления старой программы и установка новой и желательно, чтобы все было с минимальным участием администратора и максимально автоматизированно. Сегодня я буду удалять Java JRE, а затем устанавливать свежую версию. Создаём папку и помещаем в неё актуальные инсталляционные файлы Java JRE для x86 и x64 платформ. Создаем текстовый файл с содержанием, приведённым ниже, и сохраняем его в эту же папку с названием install_java.cmd:

Устанавливаем Java JRE

@ECHO OFF
REM Закрыть все процессы, которые могут помещать обновлению
net stop JavaQuickStarterService
taskkill /F /IM iexplore.exe /T
taskkill /F /IM jqs.exe /T
taskkill /F /IM jucheck.exe /T
taskkill /F /IM javaw.exe /T

REM ============ Удаление Java ============
REM Сохранение в файл идентификаторов (GUID) установленных пакетов Java в формате установщика Windows Installer
SET Query=name like 'Java 7%%' OR name like 'Java(TM) 6%%' OR name like 'J2SE Runtime Environment%%' OR name like 'Java 2 Runtime Environment%%' OR name like 'Java Auto Updater%%'
wmic product where "%Query%" get IdentifyingNumber > "%TEMP%\delJava_1.txt"

REM Сохранение только GUID пакетов во второй файл
TYPE "%TEMP%\delJava_1.txt" | FINDSTR {........-....-....-....-............} > "%TEMP%\delJava_2.txt"

REM Цикл удаления пакетов
FOR /f "tokens=*" %%a IN (%TEMP%\delJava_2.txt) DO (msiexec /x %%a /norestart /qn)

REM Удаление временных файлов
IF EXIST "%TEMP%\delJava_1.txt" DEL "%TEMP%\delJava_1.txt"
IF EXIST "%TEMP%\delJava_2.txt" DEL "%TEMP%\delJava_2.txt"

REM Тихая установка Java
jre-7u51-windows-i586.exe /s
IF DEFINED ProgramW6432 ( jre-7u51-windows-x64.exe /s )

Прошу заметить, что данный скрипт удаляет только Java версии 1.4 и старше. До версии 1.4 Sun использовала InstallShield и данный метод не подходит.

Например, команда удаления Java(TM) 2 Runtime Environment, Standard Edition 1.3.1_20 из командной строки выглядит так:

RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information\{68249B7B-B714-11D7-88E8-0050DA21757E}\Setup.exe"  -uninst

Как видите установить Java JRE с удалением всех предыдущих версий не так уж и сложно, всего-то потратить 10 минут своего времени.

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *