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

jpackage returns non-zero exit code when creating additional launchers on Window

XMLWordPrintable

    • x86_64
    • windows_10
    • Not verified

      ADDITIONAL SYSTEM INFORMATION :
      WiX Toolset v3.11.2

      A DESCRIPTION OF THE PROBLEM :
      With jpackage, one can create to the regular app launcher also addionatl launchers in the same run via the `--add-launcher NAME=PROPERTIES-PATH` option.

      On Windows, using this option, results in a failing build: jpackage returns with exit code 1 and reports the following when using the `--verbose`option:
      ```
      [2023/02/06 18:45:39.522, jpackage.dll (PID: 17116, TID: 10692), jpackage.cpp:125 (Java_jdk_jpackage_internal_ExecutableRebrander_versionSwap)]
              ERROR: Exception with message 'VersionInfo.cpp(154) at VersionInfo::apply(): Missing mandatory FILEVERSION property' caught
      [18:45:38.998] Creating app package: jPkg-AddLauncher-Test in C:\Users\JohnDoe\Repos\jpackage-add-launcher
      [18:45:39.359] Using default package resource JavaApp.ico [icon] (add jPkg-AddLauncher-Test.ico to the resource-dir to customize).
      [18:45:39.374] Warning: Windows Defender may prevent jpackage from functioning. If there is an issue, it can be addressed by either disabling realtime monitoring, or adding an exclusion for the directory "C:\Users\JohnDoe\AppData\Local\Temp\jdk.jpackage13363231234761969653".
      [18:45:39.414] Using default package resource WinLauncher.template [Template for creating executable properties file] (add jPkg-AddLauncher-Test.properties to the resource-dir to customize).
      [18:45:39.470] Using default package resource JavaApp.ico [icon] (add debug.ico to the resource-dir to customize).
      [18:45:39.478] Warning: Windows Defender may prevent jpackage from functioning. If there is an issue, it can be addressed by either disabling realtime monitoring, or adding an exclusion for the directory "C:\Users\JohnDoe\AppData\Local\Temp\jdk.jpackage13363231234761969653".
      [18:45:39.521] Using custom package resource [Template for creating executable properties file] (loaded from debug.properties).
      [18:45:39.526] java.lang.RuntimeException: Failed to update version information for C:\Users\JohnDoe\Repos\jpackage-add-launcher\jPkg-AddLauncher-Test\debug.exe
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandProperties(ExecutableRebrander.java:212)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.lambda$rebrandExecutable$2(ExecutableRebrander.java:97)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandExecutable(ExecutableRebrander.java:135)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandExecutable(ExecutableRebrander.java:96)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandLauncher(ExecutableRebrander.java:77)
              at jdk.jpackage/jdk.jpackage.internal.WindowsAppImageBuilder.createLauncherForEntryPoint(WindowsAppImageBuilder.java:140)
              at jdk.jpackage/jdk.jpackage.internal.WindowsAppImageBuilder.prepareApplicationFiles(WindowsAppImageBuilder.java:108)
              at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.createAppBundle(AppImageBundler.java:187)
              at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.execute(AppImageBundler.java:91)
              at jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:700)
              at jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:565)
              at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91)
              at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52)
      [18:45:39.528] jdk.jpackage.internal.PackagerException: java.lang.RuntimeException: Failed to update version information for C:\Users\JohnDoe\Repos\jpackage-add-launcher\jPkg-AddLauncher-Test\debug.exe
              at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.execute(AppImageBundler.java:96)
              at jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:700)
              at jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:565)
              at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91)
              at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52)
      Caused by: java.lang.RuntimeException: Failed to update version information for C:\Users\JohnDoe\Repos\jpackage-add-launcher\jPkg-AddLauncher-Test\debug.exe
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandProperties(ExecutableRebrander.java:212)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.lambda$rebrandExecutable$2(ExecutableRebrander.java:97)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandExecutable(ExecutableRebrander.java:135)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandExecutable(ExecutableRebrander.java:96)
              at jdk.jpackage/jdk.jpackage.internal.ExecutableRebrander.rebrandLauncher(ExecutableRebrander.java:77)
              at jdk.jpackage/jdk.jpackage.internal.WindowsAppImageBuilder.createLauncherForEntryPoint(WindowsAppImageBuilder.java:140)
              at jdk.jpackage/jdk.jpackage.internal.WindowsAppImageBuilder.prepareApplicationFiles(WindowsAppImageBuilder.java:108)
              at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.createAppBundle(AppImageBundler.java:187)
              at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.execute(AppImageBundler.java:91)
              ... 4 more
      ```

      An example to reproduce the issue can be found in https://github.com/infeo/jpackage-add-launcher

      REGRESSION : Last worked in version 16

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. check out repository
      2. Run `mvn clean verify`
      3. Run in Powershell `package.ps1`

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Jpackage runs without error, creating an app-image with two executables, both with the correct number in "version" field.
      ACTUAL -
      The executable created by --add-launcher has a different version, namely set to the version of the used JDK. Additionally, the default icon is not set.

      ---------- BEGIN SOURCE ----------
      See https://github.com/infeo/jpackage-add-launcher
      ---------- END SOURCE ----------

      FREQUENCY : always


        1. JDK-8303325.patch
          0.7 kB
          Alexey Semenyuk

            asemenyuk Alexey Semenyuk
            webbuggrp Webbug Group
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: