InstallJammer telepítő Java alkalmazáshoz

    Az InstallJammer alapvetően nem Java alkalmazásokhoz készült, ezért a következő beálíltásokat kell elvégezni, ha Java szoftverhez készítesz telepítőt:

    1. Az indító parancs megfelelő módosítása
    2. A JRE automatikus telepítése
    3. Speciális parancsikon

    A továbbiakban részletesen leírom, mit kell tenni.

    Windows platform

    Az indító parancs megfelelő beállítása

    1. Ha a szoftver futtatandó állománya JAR kiterjesztésű, pl. Application.jar, ellenőrizd, hogy az InstallJammer projektben is megfelelően van beállítva a kiterjesztés: General Information -> Platform Information -> Windows -> Program Executable = <%InstallDir%>/Application.jar
    2. Állítsd be az indító parancsot: InstallUser Interface -> Install Panes and Actions -> Action Groups -> Finish Actions -> Launch Application -> Advanced Properties -> Program Command Line = javaw -jar <%ProgramExecutable%>

    A JRE automatikus telepítése

    A JRE telepítéséhez a következőkre lesz szükség:

    • JRE offline telepítő, amit a Java letöltési oldaláról szerezhetünk be
    • JRE telepítési státusz jelzése a felhasználónak
    • JRE elindítása a háttérben
    • Várakozás, amíg tart a JRE teleítése
    • JRE telepítő fájl törlése
    • Továbblépés

    Szükséges lépések:

    1. Töltsd le a JRE megfelelő változatát a http://java.com oldalról. A legfrissebb Windows-os JRE telepítő letöltéséhez kattints a Free Java Download gombra, majd az All Java downloads linkre. A Windows Offline linkre kattintva tölthető le a megfelelő telepítő fájl: jre-7u5-windows-i586.exe.
    2. Hozz létre egy új Copying Files panelt a InstallUser Interface -> Install Panes and Actions -> Standard Install csoportban a meglévő Copying Files panel alatt (Jobb egérgomb -> Insert Pane -> Copying Files, majd egérrel húzdd a megfelelő helyre). Nevezd át a penelt pl. Install JRE-re.
    3. Állítsd át a Text Properties-ben a Progress Value értékét -1-re.
    4. Az új Copying Files panelt nevezd át Install JRE-re, és töröld ki az Install Everything parancsot. Helyette új parancsokat kell hozzáadni.
    5. A felhasználónak egy határozatlan státuszt fogunk mutatni, ezért az Install JRE csoporthoz adj hozzá egy Execute Script parancsot, és az Advanced Properties-ben állítsd be a következő Tcl Script-et:

      set ::javaProgress 0
          set progressbar [::InstallAPI::GetWidgetPath -widget ProgressValue]
          $progressbar configure -mode indeterminate -variable ::javaProgress
          proc ::javaProgress {} {
              incr ::javaProgress
              set ::javaAfterId [after 10 ::javaProgress]
          }
          ::javaProgress

       
    6. Az Install JRE csoporthoz adj hozzá egy Execute External Program parancsot, amely elindítja a JRE telepítőt. A Program Command Line mezőbe írd be a következő parancsot:

      jre-7u5-windows-i586.exe /s /v"/qn ADDLOCAL=ALL IEXPLORER=1 MOZILLA=1 REBOOT=Suppress JAVAUPDATE=0 CUSTOM=1 WEBSTARTICON=0"

      A Show Progressive Output-ot állítsd Yes-re, a Working Directory-t pedig <%InstallDir%>-re!
       
    7. Delet File parancs hozzáadása a következő Advanced Properties -> Files paraméterrel:

      <%InstallDir%>/jre-7u5-windows-i586.exe
       
    8. Execute Script parancs hozzáadása a státusz jelző leállításához, az Advanced Properties-ben a következő Tcl Script-el:

      after cancel $::javaAfterId
      set progressbar [::InstallAPI::GetWidgetPath -widget ProgressValue]
      $progressbar configure -mode determinate -variable ::info(InstallPercentComplete)

    Speciális parancsikon

    A Windows konfigurációtól függően nem biztos, hogy el tudja indítani a JAR kiterjesztésű Java állományokat, ráadásul bizonyos alkalmazások (Pl. Nokia Suite) saját JVM-et telepítenek, amely megzavarhatja a hagyományos Java programok futását. Tapasztalataim szerint ezekre megoldást nyújthat, ha az Install User Interface -> Install Panels and Actions -> Action Groups -> Finish Actions csoportban beállítjuk a következő értékeket:

    Command Line Argument = -jar "<%ProgramExecutable%>"

    Target File Name = javaw.exe

    Windows 7 esetén előfordulhat, hogy a telepített program nem tud írni a telepítési könyvtárba, erről a Telepítési problémák Windows 7-en című bejegyzésemben írtam.