Просматривая отчет SCCM ‘Count of all instances of software registered with Add or Remove Programs’ обратил внимание на огромный букет разных версий Java Runtime Environment (JRE), установленных на разных клиентских системах. Выяснилось, что на некоторых клиентах установлено по несколько экземпляров JRE, как разных веток, так и их подверсий. Погуглив, почитав гневные выплески в адрес разработчиков и поигравшись с дистрибутивами JRE, стало понятно, что развернуть актуальную версию JRE параллельно удалив при этом все старые версии – задача не совсем тривиальная. Дополнительно нужно решить проблему отключения механизма обновления, который приводит в замешательство пользователей, периодически выбрасывая окно UAC при попытке произвести авто-обновление JRE.
Для начала нам необходимо скачать последнюю версию (на момент написания заметки это версия 6 Update 23) offline-инсталлятора с адреса Java Runtime Environment Download
Итак, у нас имеются два файла:
jre-6u23-windows-i586.exe – для 32-битных версий Windows
jre-6u23-windows-x64.exe – для 64-битных версий Windows
Для развёртывания через SCCM, так же как и через другие механизмы типа GPO, нам понадобиться файлы MSI инсталлятора. О том, как их извлечь описано в статье How do I deploy Java using Active Directory across a network?
Запускаем полученный *.exe дистрибутив (сам процесс установки при этом выполнять не нужно)…
…переходим в служебный каталог, куда после запуска дистрибутив JRE распаковывает свои файлы (в зависимости от используемой ОС каталог может различаться):
для Windows Vista/7 - C:Users<user>AppDataLocalLowSunJavajre1.6.0_23
для Windows XP - C:Documents and Settings<user>Local SettingsApplication DataSunJava jre1.6.0_23
Копируем из этого каталога файлы jre1.6.0_23.msi и Data1.cab и после этого запущенное приложение программы установки JRE можно закрывать (оно нам больше не понадобиться).
Так как *.cab файл в составе дистрибутива имеет цифровую подпись, перед началом развёртывания необходимо удостовериться в том, что на целевых клиентских системах обновлено хранилище корневых сертификатов. В противном случае, мы можем столкнуться с проблемой, описанной в заметке SCCM – Обновление корневых сертификатов.
Файлы необходимые для установки новой версии мы получили, но как быть с множеством уже установленных экземпляров старых версий? Для того чтобы произвести их удаление перед установкой новой версии создадим отдельный пакетный файл jre1.6.0_23_UninstallAll.bat следующего содержания:
rem Java(TM) 6 Update 23
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216023FF} /qn
rem Java(TM) 6 Update 23 (64-bit)
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F86416023FF} /qn
rem Java(TM) 6 Update 22
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216022FF} /qn
rem Java(TM) 6 Update 21
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216021FF} /qn
rem Java(TM) 6 Update 20
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216020FF} /qn
rem Java(TM) 6 Update 19
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216019FF} /qn
rem Java(TM) 6 Update 18
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216018F0} /qn
rem Java(TM) 6 Update 17
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216017FF} /qn
rem Java(TM) 6 Update 17 (64-bit)
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F86416017FF} /qn
rem Java(TM) 6 Update 16
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216016FF} /qn
rem Java(TM) 6 Update 15
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216015FF} /qn
rem Java(TM) 6 Update 14
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216014FF} /qn
rem Java(TM) 6 Update 13
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216013FF} /qn
rem Java(TM) 6 Update 12
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216012FF} /qn
rem Java(TM) 6 Update 11
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216011FF} /qn
rem Java(TM) 6 Update 10
msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216010FF} /qn
rem =====================================
rem Java(TM) 6 Update 7
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160070} /qn
rem Java(TM) 6 Update 6
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160060} /qn
rem Java(TM) 6 Update 5
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160050} /qn
rem Java(TM) 6 Update 4
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160040} /qn
rem Java(TM) 6 Update 3
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160030} /qn
rem Java(TM) 6 Update 2
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160020} /qn
rem Java(TM) SE Runtime Environment 6 Update 1
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160010} /qn
rem Java(TM) SE Runtime Environment 6
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160000} /qn
rem =====================================
rem JRE Runtime Environment 5.0 Update 21
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150210} /qn
rem JRE Runtime Environment 5.0 Update 20
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150200} /qn
rem JRE Runtime Environment 5.0 Update 19
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150190} /qn
rem JRE Runtime Environment 5.0 Update 18
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150180} /qn
rem JRE Runtime Environment 5.0 Update 17
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150170} /qn
rem JRE Runtime Environment 5.0 Update 16
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150160} /qn
rem J2SE Runtime Environment 5.0 Update 15
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150150} /qn
rem JRE Runtime Environment 5.0 Update 14
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150140} /qn
rem JRE Runtime Environment 5.0 Update 13
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150130} /qn
rem J2SE Runtime Environment 5.0 Update 12
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150120} /qn
rem JRE Runtime Environment 5.0 Update 11
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150110} /qn
rem JRE Runtime Environment 5.0 Update 10
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150100} /qn
rem JRE Runtime Environment 5.0 Update 9
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150090} /qn
rem JRE Runtime Environment 5.0 Update 8
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150080} /qn
rem JRE Runtime Environment 5.0 Update 7
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150070} /qn
rem J2SE Runtime Environment 5.0 Update 6
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150060} /qn
rem JRE Runtime Environment 5.0 Update 5
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150050} /qn
rem JRE Runtime Environment 5.0 Update 4
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150040} /qn
rem J2SE Runtime Environment 5.0 Update 3
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150030} /qn
rem J2SE Runtime Environment 5.0 Update 2
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150020} /qn
rem JRE Runtime Environment 5.0 Update 1
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150010} /qn
rem JRE Runtime Environment 5.0
msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150000} /qn
rem =====================================
rem Java 2 Runtime Environment, SE v1.4.2_19
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142190} /qn
rem Java 2 Runtime Environment, SE v1.4.2_18
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142180} /qn
rem Java 2 Runtime Environment, SE v1.4.2_17
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142170} /qn
rem Java 2 Runtime Environment, SE v1.4.2_16
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142160} /qn
rem Java 2 Runtime Environment, SE v1.4.2_15
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142150} /qn
rem Java 2 Runtime Environment, SE v1.4.2_14
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142140} /qn
rem Java 2 Runtime Environment, SE v1.4.2_13
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142130} /qn
rem Java 2 Runtime Environment, SE v1.4.2_12
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142120} /qn
rem Java 2 Runtime Environment, SE v1.4.2_11
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142110} /qn
rem Java 2 Runtime Environment, SE v1.4.2_10
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142100} /qn
rem Java 2 Runtime Environment, SE v1.4.2_09
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142090} /qn
rem Java 2 Runtime Environment, SE v1.4.2_08
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142080} /qn
rem Java 2 Runtime Environment, SE v1.4.2_07
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142070} /qn
rem Java 2 Runtime Environment, SE v1.4.2_06
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142060} /qn
rem Java 2 Runtime Environment, SE v1.4.2_05
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142050} /qn
rem Java 2 Runtime Environment, SE v1.4.2_04
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142040} /qn
rem Java 2 Runtime Environment, SE v1.4.2_03
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142030} /qn
rem Java 2 Runtime Environment, SE v1.4.2_02
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142020} /qn
rem Java 2 Runtime Environment, SE v1.4.2_01
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142010} /qn
rem Java 2 Runtime Environment, SE v1.4.2
msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142000} /qn
rem =====================================
rem Java 2 Runtime Environment Standard Edition v1.3.1_25
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_25Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_24
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_24Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_23
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_23Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_22
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_22Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_21
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_21Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_20
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_20Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_19
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_19Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_18
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_18Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_17
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_17Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_16
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_16Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_15
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_15Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_14
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_14Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_13
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_13Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_12
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_12Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_11
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_11Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_10
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_10Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_09
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_09Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_08
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_08Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_07
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_07Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_06
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_06Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_05
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_05Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_04
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_04Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_03
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_03Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_02
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_02Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3.1_01
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_01Uninst.isu" –a
rem Java 2 Runtime Environment Standard Edition v1.3
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3Uninst.isu" -a
rem =====================================
rem Java 2 Runtime Environment Standard Edition v1.2
%systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.2Uninst.isu" -arem =====================================
rem Java Auto Updater 2.0.2.1 / 2.0.2.4
MsiExec.exe /x {4A03706F-666A-4037-7777-5F2748764D10} /qn
В начале файла удаление уже установленного экземпляра текущей версии фигурирует не случайно. Эксперименты показали что если текущая версия была ранее установлена в ручную то выкорчевать из неё логику механизма авто-обновления сложней чем просто удалить и установить заново с нужными параметрами. В конце файла строка удаления Java Auto Updater добавлена больше для перестраховки, так как, при удалении JRE в штатном режиме, этот модуль удаляется тоже.
Для информации: если нет желания удалять текущую версию JRE с установленным модулем авто-обновления, механизм авто-обновления можно попытаться отключить в реестре:
[HKEY_LOCAL_MACHINESoftwareJavaSoftJava UpdatePolicy]
"EnableJavaUpdate"=dword:00000000
"EnableAutoUpdateCheck"=dword:00000000
Разместив полученные из дистрибутива файлы jre1.6.0_23.msi , Data1.cab и пакетный файл удаления старых версий jre1.6.0_23_UninstallAll.bat в одном сетевом каталоге, в SCCM создаем пакет распространения JRE.
Пакет будет иметь две основные программы, которые мы будем использовать. Первая программа «Uninstall all old versions» будет запускать созданный нами пакетный файл для удаления старых версий
Вторая программа «Per-system unattended» будет запускать процедуру установки новой версии с необходимыми нам ключами, отвечающими за отключение механизма авто-обновления JRE
Команда установки может быть следующей:
msiexec /i jre1.6.0_23.msi /qn REBOOT=Suppress JAVAUPDATE=0 AUTOUPDATECHECK=0
ключи ADDLOCAL=ALL IEXPLORER=1 MOZILLA=1 можно не использовать, так как, начиная с версии JRE 6 update 10, они считаются устаревшими.
Обратите внимание на то, что текущая версия JRE имеет два разных дистрибутива для платформ 32 и 64 бита, поэтому на закладке предварительных требований для запуска программы установки необходимо ограничить список соответствующих платформ, на которые может быть установлен данный пакет.
После того, как на SCCM пакет распространения готов, создадим коллекцию компьютеров на которую в последствие будет назначено объявление развёртывания этого пакета, с членством основанном на SQL запросе
Запрос должен выбирать из БД SCCM все компьютеры, у которых в составе установленных приложений присутствуют старые версии JRE разных веток, например, так:
select
SMS_R_SYSTEM.ResourceID,
SMS_R_SYSTEM.ResourceType,
SMS_R_SYSTEM.Name,
SMS_R_SYSTEM.SMSUniqueIdentifier,
SMS_R_SYSTEM.ResourceDomainORWorkgroup,
SMS_R_SYSTEM.Client
from SMS_R_System
inner join SMS_G_System_ADD_REMOVE_PROGRAMS
on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId
where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName
like 'Java(TM) 6%' OR
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName
like 'Java(TM) SE Runtime Environment 6%' OR
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName
like 'J2SE Runtime Environment 5%' OR
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName
like 'Java 2 Runtime Environment, SE v1.4%' OR
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName
like 'Java 2 Runtime Environment Standard Edition v1.3%' OR
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName
like 'Java 2 Runtime Environment Standard Edition v1.2%'
После того как коллекция будет обновлена и заполнена компьютерами, создаем последовательность задач (Task Sequences) состоящую из двух действий. Первым действием будет запуск программы выполняющей пакетный файл удаления всех старых версий:
При этом в опциях данного шага необходимо обозначить то, что в случае возврата ошибок, последовательность будет продолжать выполняться. В ходе выполнения пакетного файла для тех продуктов, которые не установлены, будет возвращаться код ошибки инсталлятора MSI 1605, что может приводить к прерыванию последовательности. По этой же причине процедуру установки пакета предлагается выполнять не в виде обычного объявления на коллекцию, а через выполнение последовательности задач.
Вторым действием последовательности будет уже сама установка новой версии с необходимыми нам параметрами
После этого нам остаётся только объявить последовательность задач на созданную ранее коллекцию компьютеров и следить за ходом развёртывания на консоли SCCM
Дополнительные источники информации:
Java SE Online Documentation - Java Runtime Environment Configuration
Java SE Online Documentation - JRE Installer Options
AppDeploy Package Knowledgebase - Java Runtime Environment
camie.dyndns.org - J2SE & JRE Mass Uninstallation Script (Bat)
Brad's JumpBag Blog - Java 6 Update 22 partial installs
Хотел бы сделать пару замечаний:
1. При запущенном Internet Explorer старая версия "криво" удалиться, а новая не установится.. Поэтому объявление желательно сделать на логон. И принудительно перезапускать рабочие станции, которые редко перезагружаются :)
2. Коллекция должна быть динамической, то есть не надо переустанавливать Джаву, если уже есть последняя версия.
Кстати, как сделать запрос + на рабочие станции, у которых вообще не установлена Java?
сейчас мой в таком виде:
select
v_R_System.Name0,
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0
from v_R_System
inner join v_GS_ADD_REMOVE_PROGRAMS
on v_GS_ADD_REMOVE_PROGRAMS.ResourceID = v_R_System.ResourceId
where
(v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 like 'Java(TM) 6%' OR
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 like 'Java(TM) SE Runtime Environment 6%' OR
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 like 'J2SE Runtime Environment 5%' OR
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 like 'Java 2 Runtime Environment, SE v1.4%' OR
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 like 'Java 2 Runtime Environment Standard Edition v1.3%' OR
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 like 'Java 2 Runtime Environment Standard Edition v1.2%')
AND
v_GS_ADD_REMOVE_PROGRAMS.DisplayName0 not like 'Java(TM) 6 Update 25'
order by v_R_System.Name0,v_GS_ADD_REMOVE_PROGRAMS.DisplayName0
Не понимаю смысл необходимости такой коллекции...
было бы интересно услышать мысли о том, на какое время правильно устанавливать объявление, т.к. во время того, как запуще Internet Explorer, установка не запускается. Я поставил на Логон, но если после логона юзер сразу запускает Internet Explorer, то что тогда делать. Тем более есть добрая часть таких, которые раз в полгода перезагружаются..
Обратная ссылка: Stas Vershinin » Установка Java через GPO /
С 29 версией появились новые проблемы.. Даже если скрипт с удалением предидущих версий проходит, то при установке новой версии выдает ошибку - A failure exit code of 1603 was returned, причем на половине компьютеров... получается, что старые версии удалились, а новая не устанавливается, хоть тресни. И пользователи остаются без java :)
Плюс ещё одно замечание - jre-6u23-windows-i586.exe – для 32-битных версий Браузеров, а не Windows; jre-6u23-windows-x64.exe – для 64-битных версий браузеров Windows. По умолчанию в 64битных осях всё равно запускается 32битный браузер. Так что на на 32битные оси нужно устанавливаться одну версию, а на 64е - обе.
Нет. Разрядность версий относится не к браузерам а именно к разрядности ОС. JRE это не просто какая-то приблуда к веб-браузеру, а среда исполнения, которая будет работать даже если в системе этот самый браузер не установлен вообще. Ставить 32-битную версию в 64-битную ОС не правильно если существует нативная 64-битная сборка. Устанавливая 32-битный пакет в 64-битную ОС вы заставляете работать JRE в режиме эмуляции.
Можно конечно штаны одевать и через голову, но зачем...
В корне не согласен. по умолчанию все самые популярные браузеры запускаются в 32битном режиме, как исключение видел 64битный експолорер. Вот даже выдержка с сайта java: We have detected you may be viewing this page in a 32-bit browser. If you use 32-bit and 64-bit browsers interchangeably, you will need to install both 32-bit and 64-bit Java in order to have the Java plug-in for both browsers.
Это ваше право. У меня нет задачи в чём-либо вас здесь убеждать.
Обратная ссылка: развёртывание Java Runtime Environment | Шпора начинающего IT-шника /
Спасибо большое за статью, очень полезна, по поводу Java на 64 битной Windows.
Есть выдержка прямо на сайте java: "Пользователям, использующим 32-разрядные браузеры в 64-разрядной системе Windows, следует загрузить 32-разрядную версию программного обеспечения Java." Не думаю что пользователи Windows 7 64-bit используют для серфа 64-битные браузеры, особенно IE.
Спасибо за статью. Я хотел тоже написать про свой опыт обновления Java средствами SCCM, но после нахождения такой хорошей статьи желание отпало. Добавить практически больше нечего.