SUP: Обновление Java с помощью SCUP 2011

На работе была поставлена задача — обновить Java до версии 6.31 (7я пока не рассматривается:)). Делать это через коллекции Configuration Manager не интересно, коллекций и без того большое количество и это всё таки обновление. Процесс не совсем тривиальный, поэтому опишу его.

СSCUP Catalog сайта Oracle скачиваем 32 и 64 битные версии. Далее в Updates Publisher 2011 создаем каталог «Sun Microsystems, Inc.» и в этой папке «Java Runtime Environment». Для 64 битных операционных систем требуется обновить обе версии. Начну рассказывать с простого — обновление именно 64 битной версии. С 32 битной пришлось попотеть, о чем я расскажу ниже. Далее мы нажимаем кнопку Create -> Software Update. В открывшемся окне мы заполняем следующую информацию:

Package Source: <Путь до скачанного 64 битного пакета>

Download URL: http://download.oracle.com/otn-pub/java/jdk/6u31-b05/jre-6u31-windows-x64.exe (на момент написания статьи это последняя версия на сайте).

Command Line: /s

Pack Info

Жмем Next. Здесь мы заполняем информацию об обновлении:

Language: English

Title: Java SE Runtime Environment 6 Update 31 (64-bit)

Description: По своему усмотрению, я не менял ничего.

Classification: Update

Выбираем вендора и продукт из списка.

More info URL: http://java.com

SCUP Info

Теперь задаем правила установки, прописываем критерии по которым происходит поиск продукта и информации о том, что продукту требуется обновление, переходим на вкладку Installable Rules.

Жмем на изображение желтой снежинки (Alt+T) и в открывшемся окне выбираем Rule Type: System и Processor Architecture: x64. Жмем ОК.

Этого критерия мало 🙂 Поэтому мы опять жмем звездочку ивыбираем Rule Type: Registry и в поле Subkey прописываем SOFTWARE\JavaSoft\Java Runtime Environment\1.6, ставим галочку напротив Default Value, жмем ОК.

Registry Applicability

Теперь проверяем версию файла java.exe. Версия файла соостветствует версии продукта. Для этого мы делаем еще одно правило. Жмем звездочку и выбираем Rule type: File. Ставим галочку напротив Use the registry to determine file location, прописываем в поля

Path: bin

File Name: java.exe.

Subkey: SOFTWARE\JavaSoft\Java Runtime Environment\1.6

Value: JavaHome

Ведем курсор в нижнюю часть окна и выбираем The file must satisfy the following rule in the target computer to indicate applicability и выбираем:

Property: Version

Operator: Less Than

Value: 6.0.310.5

File Rule

Жмем ОК.
Всё, правило применения написано, сохраняем его как набор, выбрав самый верхний уровень (стрелочка с оператором AND) и нажав на иконку дискеты. Переходим на следующую закладку. На следующей закладке нажимаем на звездочку и выбираем Saved Rule, выбираем сохраненное правило и в последнем правиле из списка меняем Operator Less Than на Equal. Жмем ОК и завершаем мастер создания обновления. Всё! Обновление Java для 64 битных систем создано.

Теперь переходим к более сложному — создание пакета обновления для 32 битных систем. Чем оно сложнее? А тем, что стандартный установщик этого пакета падает с ошибкой 0x00000653 на 64 битных системах. Сам по себе exe файл установщика представляет собой самораспаковывающийся архив с msi файлом, библиотекой архиватора и самим архивом. Для его распаковки достаточно на любом компьютере запустить установку и достать эти файлы из папки %APPDATA%LocalLowSunJavajre1.6.0_31. Дальше препарируем больного:

Качаем 7zip, пакуем эти файлы в формате 7z. Файл называем java.7z.

Качаем модуль 7zsd.sfx с сайта http://7zsfx.info/files/7zsd_150_2100.7z, распаковываем в ту же папку

Создаем файл config.txt, прописываем в него следующие строки:

;!@Install@!UTF-8!
RunProgram=»jre1.6.0_31.msi /q»
;!@InstallEnd@!

Сохраняем файл в формате UTF-8, все три файла кладем в одну папку, открываем окно командной строки и переходим в папку с файлами. Далее набираем команду:

copy /b 7zsd.sfx + Config.txt + java.7z jre-6u31-windows-i586.exe.

На всякий случай проверяем, что установка работает нормально и переходим к процедуре подготовки пакета обновления. Вся процедура аналогична той, что мы уже проделывали для 64 битной версии. Единственное отличие — для данного пакета не нужно указывать какие либо ключи тихой инсталляции. И в правилах, где идет проверка по реестру требуется поставить галочку The registry rule is for a 32-bit application on a 64-bit system.

32-app on 64-bit

Приблизительно так будут выглядеть обновления для java.

SCUP

Дальше публикуем обновления на сервере WSUS и запускаем синхронизацию на сервере SCCM. PROFIT!

Реклама

Детали bobgreen84
System Center Products Specialist

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: