Instalacja pakietu Java w środowisku Active Directory oraz wyłączenie Java Auto Update

Aby poprawnie obsługiwać aplikacje (czy tez aplety na stronach internetowych) napisane w oparciu o technologię Java stacja kliencka musi posiadać zainstalowane oprogramowanie umożliwiające korzystanie z tej technologii. Sama instalacja pakietu nie jest niczym skomplikowanym przy założeniu, że mamy kilka stacji. Przy większej ilości dystrybucja oprogramowania staje się już dość czasochłonna. W środowiskach z wdrożonymi i działającymi usługami katalogowymi Active Directory możemy do tego wykorzystać usługę Software Distribution. Przy okazji możemy tak skonfigurować pakiet aby nie męczył użytkowników irytującym komunikatem o dostępności nowej wersji (którą nota bene musimy zainstalować z prawami administracyjnymi na danej stacji).

Do zrobienia mamy:

      1. przygotowanie pakietu instalacyjnego Java
      2. przygotowanie i wdrożenie GPO instalującej pakiet Java
      3. przygotowanie i wdrożenie GPO wyłączającej Auto Update Java

1. Przygotowanie pakietu instalacyjnego

Aby zainstalować oprogramowania Java używając do tego GPO musimy przygotować właściwy pakiet .msi. W tym celu posłużymy się procedura opisaną tu: http://www.java.com/en/download/help/msi_install.xml https://maddog2050.wordpress.com/2014/10/27/gpo-deploying-java-8-update-25/. Oczywiście nazwa pakietu przedstawiona w procedurze jest przykładowa, w rzeczywistości nazwa ta jest właściwa dla wersji Java , która instalujemy. Potrzebne będą nam pliki jre1.6.0_29.msi oraz Data1.cab (nazwa pliku .cab jest, w odróżnieniu od .msi, zawsze taka sama).

2. Przygotowanie i wdrożenie GPO instalującej pakiet Java

Na początek musimy przygotować zasób, punkt dystrybucyjny, z którego komputery klienckie pobiorą instalacje pakietu. Zasób taki przygotowujemy na serwerze z zainstalowaną rolą serwera plików i nadajemy mu prawa do odczytu na poziomie sieci (w zupełności wystarczą) dla Użytkowników Domeny oraz Komputerów Domeny. W nim umieszczamy dwa w/w pliki.
Utworzenie GPO polega na konfiguracji gałęzi: Konfiguracja komputera > Zasady > Ustawienia oprogramowania > Instalacja oprogramowania. Wybierając z menu Akcja > Nowy > Pakiet (lub wybierając Nowy pod prawym klawiszem myszy) wybieramy pakiet, który chcemy zainstalować czyli przygotowany przez nas plik .msi. Ścieżkę do niego zawsze podajemy jako ścieżkę UNC (czyli sieciową). Pakiet ma byc zainstalowany obowiązkowo na wszystkich komputerach (wszystkich objętych polityką) dlatego konfigurujemy go jako Przypisany. W opcjach zaawansowanych możemy zaznaczyć Ignoruj język w czasie rozmieszczania pakietu oraz Udostępnij tę 32-bitowa aplikacje X86 komputerom Win64
Tak skonfigurowaną politykę linkujemy z OU, w którym znajdują sie komputery klienckie , na których pakiet Java ma się zainstalować. Wykonujemy to za pomocą przystawki GPMC.

3. Przygotowanie i wdrożenie GPO wyłączającej Auto Update Java

Aby wyłączyć automatyczne aktualizacje pakietu Java na stacji klienckiej musimy zmienić wartość rejestru (dla 32-bitowego systemu operacyjnego) HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate z 1 na 0.
W wersji 64-bitowej systemu operacyjnego będzie to wartość w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy\EnableJavaUpdate.
Mając do dyspozycji domenę oparta o Windows 2008 R2 (lub 2008) możemy wykorzystać do tego „preferencje” zasad grupy czyli Group Policy Preferences http://technet.microsoft.com/pl-pl/library/group-policy-preferences—cz-3.aspx. Aby GPP prawidłowo działało po stronie systemów klienckich Windows XP oraz Vista wymaga zainstalowania specjalnego rozszerzenia Group Policy.
Przykładowo dla Windows XP 32-bit stosowne rozszerzenie można znaleźć tu Group Policy Preference Client Side Extensions for Windows.
Utworzenie polityki polega na konfiguracji gałęzi Konfiguracja komputera > Preferencje > Ustawienia systemu Windows > Rejestr. Wybierając z menu Akcja > Nowy > Element Rejestru ustawiamy:
Akcja: Aktualizuj
Gałąź : HKEY_LOCAL_MACHINE
Ścieżka klucza: SOFTWARE\JavaSoft\Java Update\Policy
Nazwa wartości: EnableJavaUpdate
Typ wartości: REG_DWORD
Dane wartości: 00000000

Dla 64-bitowych wersji systemów operacyjnych tworzymy analogiczną politykę z następującymi wartościami.
Akcja: Aktualizuj
Gałąź : HKEY_LOCAL_MACHINE
Ścieżka klucza: SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy
Nazwa wartości: EnableJavaUpdate
Typ wartości: REG_DWORD
Dane wartości: 00000000

Obie polityki linkujemy do OU, w których znajdują sie komputery, na których chcemy zastosować dane ustawienia. To, która polityka zostanie zastosowana na konkretnej maszynie klienckiej wymuszamy poprzez zastosowanie do danych GPO filtrów WMI, rozróżniających architekturę systemu operacyjnego (czy jest on 32- czy 64-bitowy).

Rozbicie instalacji pakietu Java oraz wyłączenie jego automatycznych aktualizacji można zrobić w jednej polityce. Jednak moim zdaniem warto rozbić te zadania na oddzielne GPO. Spowodowane jest to tym, że co jakiś czas warto rozdystrybuować nowa wersje pakietu (chociażby ze względów łatania luk bezpieczeństwa) tworząc nową politykę dystrybucji. A GPO z wpisem do rejestru pozostaje niezmienne.

EDIT

Instalacja, którą wykonamy z rozpakowanego pakietu instalacyjnego ma domyślnie wyłączony AutoUpdate. Czyli nie ma fiszki Update w Java Control Panel oraz nie ma klucza EnableJavaUpdate (a nawet całej gałęzi SOFTWARE\JavaSoft\Java Update\Policy) w rejestrze. Żeby je włączyć musimy przeprowadzić operacje podobną do wcześniejszej z tym, że wartość klucza EnableJavaUpdate musi byc równa 1.

Jeden komentarz

  1. Poradnik świetny, działa (chociaż w nowej wersji javy 8U201 nie ma pliku cab).
    Jest jednak inny problem: system nie odinstalował starej javy…. Czy można w jakiś sposób odinstalować masowo i zdalnie staruszki?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *