Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8253426

jpackage is unable to generate working EXE for add-launcher configurations

    Details

    • Subcomponent:
    • Introduced In Build:
      b27
    • Introduced In Version:
      15
    • Resolved In Build:
      b19
    • CPU:
      x86_64
    • OS:
      windows_10

      Description

      ADDITIONAL SYSTEM INFORMATION :
      Windows 10

      A DESCRIPTION OF THE PROBLEM :
      jpackage generates same main-class into every EXE regardless of main-class provided in each add-launcher configurations. So every EXE runs the same application.

      REGRESSION : Last worked in version 14.0.2

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run this command (- or ANY jpackage command that passes in --add-launcher parameter) after setting up the files and directorys in Source code section below:
      jpackage --app-version 01.02.0304 --input input --dest installers --name NOEXE --install-dir NOEXEDIR --runtime-image c:\java\jfx --main-jar xyz.jar --main-class xyz.ABC --add-launcher launch=launch.properties

      Launch the generated installer - installers\NOEXE-01.02.0304.exe
      View the configurations - each file "C:\Program Files\NOEXEDIR\app\*.cfg" in the release structure is identical. This means that each generated EXE will try to launch the same application:
      "C:\Program Files\NOEXEDIR\NOEXE.exe"
      "C:\Program Files\NOEXEDIR\launch.exe"

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The generated CFG files for each launcher must be different.
      type "C:\Program Files\NOEXEDIR\app\launch.cfg"
      => should contain:
      [Application]
      app.classpath=$APPDIR\xyz.jar
      app.mainclass=xyz.DEF

      ACTUAL -
      The generated CFG files for the launcher "C:\Program Files\NOEXEDIR\app\launch.cfg" has copy of the main EXE main-class so this second EXE is pointless:
      [Application]
      app.classpath=$APPDIR\xyz.jar
      app.mainclass=xyz.ABC

      ---------- BEGIN SOURCE ----------
      In a new directory:
      1) mkdir input
      2) copy ANY jar as input\xyz.jar
      3) mkdir installers
      4) Create a file launch.properties with these values:
      main-class=xyz.DEF
      main-jar=xyz.jar
      ---------- END SOURCE ----------

      FREQUENCY : always


        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                herrick Andy Herrick
                Reporter:
                webbuggrp Webbug Group
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: