Что делать, если не устанавливается Java?

Albert_researcher

Модератор
Команда форума
В Программах и компонентах установленной Java нет. Использование программы JavaMSIFix не помогает. Java не устанавливается. Соответственно нужная программа не работает.
Я запустил от Администратора regedit, искал JavaSoft и JavaPlugin, удалял найденные значения вручную. В результате Java установилась и нужная мне программа запустилась. Удалять значения вручную утомительно, поискал решение и получился такой батник.

@echo off
chcp 866
mode con:cols=83 lines=10
IF %PROCESSOR_ARCHITECTURE% == x86 (IF NOT DEFINED PROCESSOR_ARCHITEW6432 goto bit32)
goto bit64
:bit32
reg query hklm\software\classes\installer\products /f "java" /s | find "HKEY_LOCAL_MACHINE" > deljava.txt
Start deljava.txt
pause
for /f "tokens=* delims= " %%a in (deljava.txt) do reg delete %%a /f
del deljava.txt
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /f
goto :ext
:bit64
reg query hklm\software\classes\installer\products /f "java" /s | find "HKEY_LOCAL_MACHINE" > deljava.txt
Start deljava.txt
pause
for /f "tokens=* delims= " %%a in (deljava.txt) do reg delete %%a /f
del deljava.txt
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\JavaSoft\Java Runtime Environment" /f
:ext
exit

Открывающийся текстовый файл содержит ветки реестра, которые будут удалены.
Проверить наличие установленной Java можно и в командной строке:

C:\Users\Albert>java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) Client VM (build 25.151-b12, mixed mode)

В деле не проверял пока, но думаю, что должно работать. Жду мнений и отзывов.
P.S. Проверил на Windows XP . Пишет, что слишком много параметров. Кавычки в путях не помогли. Пока нет возможности получить работоспособный батник для Windows XP, у меня дома Windows 10 . Кто-нибудь может помочь?
 
Последнее редактирование:

Albert_researcher

Модератор
Команда форума
Доработал батник удаления Java, после удаления.
Выбираете версию java в формате Х.0.ХХХ (из опыта лучше в формате Х.0_ХХХ) например:
***Последовательность действий для поиска разделов реестра, относящихся к версии Java 6.
Задайте для поиска формат 6.0.xxx,
где xxx может означать 100, 120, 130, 140 и так далее.
например:
• Для поиска разделов реестра, относящихся к 10-му обновлению Java 6, введите 6.0.100
• Для поиска разделов реестра, относящихся к 12-му обновлению Java 6, введите 6.0.120
• Для поиска разделов реестра, относящихся к 18-му обновлению Java 6, введите 6.0.180
***Последовательность действий для поиска разделов реестра, относящихся к версии Java 1.5
Задайте для поиска формат1.5.0.xxx
где xxx может означать 100, 120, 130, 140 и так далее.
например:
• Для поиска разделов реестра, относящихся к jre1.5.0_01, введите 1.5.0.100
• Для поиска разделов реестра, относящихся к jre1.5.0_12, введите 1.5.0.120
• Для поиска разделов реестра, относящихся к jre1.5.0_18, введите 1.5.0.180
***Последовательность действий для поиска разделов реестра, относящихся к версии Java 1.4
Задайте для поиска формат 1.4.2_xxx
где xxx может означать 01, 12, 13, 14 и так далее.
например:
• Для поиска разделов реестра, относящихся к jre1.4.0_01, введите 1.4.2_01
• Для поиска разделов реестра, относящихся к jre1.4.0_12, введите 1.4.2_12
• Для поиска разделов реестра, относящихся к jre1.4.0_18, введите 1.4.2_18
_________________________________________________________________________________________
Для java version 6u33 поиск можно не вводить, просто нажать ENTER (забит по умолчанию, можно поменять)
@echo off
chcp 866
mode con:cols=83 lines=10
echo Utility for removing interfering java remnants from the registry
echo;
echo Select the java version in the format X. 0_ XXX, for example 6.0_33 (jre-6u33)
echo or press Enter if java version 6u33
Set choice=6.0_33
Set /p choice="Your choice: "
IF %PROCESSOR_ARCHITECTURE% == x86 (IF NOT DEFINED PROCESSOR_ARCHITEW6432 goto bit32)
goto bit64
:bit32
echo.> deljava.txt
reg query hklm\software\classes\installer\products /f "java" /s | find "HKEY_LOCAL_MACHINE" >> deljava.txt
reg query hklm\Software\Microsoft\Windows\CurrentVersion\Uninstall /f "%choice%" /s | find "HKEY_LOCAL_MACHINE" >> deljava.txt
Start deljava.txt
echo %choice%
pause
for /f "tokens=* delims= " %%a in (deljava.txt) do reg delete %%a /f
del deljava.txt
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /f
exit
:bit64
echo.> deljava.txt
reg query hklm\software\classes\installer\products /f "java" /s | find "HKEY_LOCAL_MACHINE" >> deljava.txt
reg query hklm\Software\Microsoft\Windows\CurrentVersion\Uninstall /f "%choice%" /s | find "HKEY_LOCAL_MACHINE" >> deljava.txt
reg query hklm\Software\wow6432node\Microsoft\Windows\CurrentVersion\Uninstall /f "%choice%" /s | find "HKEY_LOCAL_MACHINE" >> deljava.txt
Start deljava.txt
pause
for /f "tokens=* delims= " %%a in (deljava.txt) do reg delete %%a /f
del deljava.txt
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\JavaSoft\Java Runtime Environment" /f
exit
Запускать батник от Администратора, лучше в проводнике или командную строку от Администратора, и из нее запустить батник, если работать у бесправного пользователя.
 
Последнее редактирование:
Верх