Del 1 – Den ultimata guiden till Java deployment med SCCM

Det här är del 1 i serien: Den ultimata guiden till Java deployment med SCCM
Del 2 hittar du här.

Java runtime environment. Ofta räcker det med att bara nämna dessa tre förhatliga ord för en IT-ansvarig för att totalt förstöra dennes dag. Denna ondskefulla lilla plug-in är ett helt kapitel för sig och för med sig en hel del utmaningar och huvudvärk, och det är väldigt ofta jag får frågan hos kunder hur man bäst hanterar och uppdaterar detta herke.

Det jag bland annat ser många brottas med är hur man blir av med den automatiska uppdateringsfunktionen. Installationsväxlarna till EXE-filen fungerar inte så som folk tror, varpå man börjar knacka ihop något script som ska radera funktionen i efterhand. Vidare har man det gamla klassiska problemet med att webbläsarna inte får vara igång när Java-installationen körs, och så har vi alla nya säkerhetsfunktioner som har kommit som få verkar ha koll på hur de fungerar och hur de ska hanteras. Dessutom är det väldigt vanligt att jag brukar se gamla versioner av Java, såsom Java 6 eller ännu äldre ute på datorerna, och dessa avinstalleras inte automatiskt när man installerar en ny Java 7 version, varpå de ligger kvar och skräpar som en trevlig liten säkerhetskatastrof som väntar på att hända.

 

Så kort och gott, följande är ungefär vad de flesta brukar vilja uppnå när man deployar Java till klientdatorer:

  • Automatisk installation på datorn, registrera Java med IE och övriga webbläsare som stöds.
  • Crapware som ”Ask Toolbar” ska INTE installeras.
  • Gamla versioner ska alltid automatiskt avinstalleras när en ny version installeras.
  • Känn av processer som stör installationen och döda dessa. Meddela dock användaren om att så sker och ge denne en chans att skjuta upp installationen en begränsad tid.
  • Inaktivera automatiska uppdateringar.
  • Stäng av säkerhetsfunktionen som inaktiverar Java om inte senaste version är installerad på datorn. Denna funktion är bra i teorin och för hemanvändare, men knappast på ett lite större företag som behöver tid för att testa och rulla ut en ny version.
  • En lista med vitlistade webbsidor ska finnas där en administratör kan lägga till osignerade sidor som annars blockeras av säkerhetsinställningarna i Java.

 

Vi uppnår alla dessa önskemål genom att:

  • Inte använda .exe-filen för installation, utan istället MSI-paketet som ligger gömt inuti. Då slipper man direkt t.ex. det förhatliga automatiska uppdateringsjobbet som annars installeras.
  • Använda konfigurationsfilerna deployment.properties och deployment.config för att ställa in säkerhetsinställningarna. Läs mer om dessa filer här.
  • Lägga till alla vitlistade webbsidor i filen exception.sites och distribuera denna till klienterna. Här finns en kraftullare funktion som heter Deployment Rule Set men som är betydligt mer komplicerad och bl.a. kräver certifikat, och jag väljer att inte ta med det ännu i den här guiden. Det kanske kommer i en senare del. Att hantera undantag med exception.sites räcker för de flesta.
  • Använda ett intelligent wrapper-script för installationen, som kontrollerar öppna processer, eventuellt meddelar användaren om att dessa behöver stängas, samt kopierar konfigurationsfilerna till rätt platser, osv. För detta ändamål använder jag PS App Deployment Toolkit som jag också skrivit om tidigare här.

 

Följ stegen nedan för att komma igång.

  1. Ladda ned den bifogade filen DeployJava.zip längst ned i den här bloggposten, och packa upp den i någon lämplig katalog där du förvarar källfiler för SCCM-applikationer.
  2. Ladda ned offline installern av senaste versionen här: http://www.java.com/en/download/windows_offline.jsp I skrivandets stund är Java 7 Update 67 den senaste officiella versionen, men Java 8 har faktiskt släppts och går att ladda ned här.
  3. Starta installationsprogrammet och avbryt det direkt. MSI-paketet har nu extraherats upp till en mapp under %UserProfile%\Appdata\LocalLow\Sun\Java. Mappen kommer ha motsvarande namn som den aktuella versionen, t.ex. jre1.7.0_67. Hämta MSI-filen och CAB-filen från denna katalog och placera i Files-mappen i den katalog där du packade upp filerna i Steg 1.
  4. Döp om MSI-paketet så att det heter kort och gott Java.msi (anledningen till detta kommer i del 2 av denna guide).
  5. I mappen SupportFiles ligger följande tre filer som kommer kopieras in till C:\Windows\Sun\Java\Deployment på klienterna av installationsscriptet:deployment.config

    deployment.properties

    exception.sites

    Gå igenom filerna och ändra vid behov någon av inställningarna, och lägg till eventuella vitlistade webbsidor i exception.sites.
  6. Skapa en ny Application i SCCM. Peka ut Java.msi från Steg 4 ovan som källfil, och låt applikationen skapas med alla default inställningar baserat på MSI-paketet. Använd med fördel mitt script eller något annat favorit Powershell-script för detta.
  7. Redigera deployment typen för applikationen (behövs inte om du använder mitt script).
    1. Under fliken Content ändra Content location så att sökvägen inte pekar till Files-mappen där MSI-paketet ligger, utan ett steg ovanför. Alltså, om MSI-paketet ligger under \\SCCM-SERVER\Source\Java\Jre7u67\Files så ändra så att sökvägen istället pekar mot \\SCCM-SERVER\Source\Java\Jre7u67.
    2. Under fliken Programs, skriv in följande rader för installation och avinstallation, samt kryssa i kryssrutan:
      Java-DT
  8. Skicka ut applikationen till distributionspunkterna och testa att deploya.

 

Ladda ned filen här

 

Facebooktwitterredditpinterestlinkedinmail

Lämna ett svar

Your email address will not be published.

Fyll i svar på den enkla captcha-frågan nedan för att få kommentera * Time limit is exhausted. Please reload CAPTCHA.