jpackage Windows support for 4 digits version

Sverre Moe sverre.moe at gmail.com
Thu Mar 24 18:04:48 UTC 2022


Hi,

This has been attempted on Java 15, Java 16 and the latest Java 17.

This is the output from Java 17

14:46:49
 C:\cygwin64\home\build\jenkins-test\workspace\our-awesome-project_sverre_SF-99>gradlew.bat
   --no-daemon --version
14:46:51
14:46:51  ------------------------------------------------------------
14:46:51  Gradle 7.3.3
14:46:51  ------------------------------------------------------------
14:46:51
14:46:51  Build time:   2021-12-22 12:37:54 UTC
14:46:51  Revision:     6f556c80f945dc54b50e0be633da6c62dbe8dc71
14:46:51
14:46:51  Kotlin:       1.5.31
14:46:51  Groovy:       3.0.9
14:46:51  Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10
2021
14:46:51  JVM:          17.0.2 (Eclipse Adoptium 17.0.2+8)
14:46:51  OS:           Windows 10 10.0 amd64


14:46:53
 C:\cygwin64\home\build\jenkins-test\workspace\our-awesome-project_sverre_SF-99>gradlew.bat
   --no-daemon --stacktrace --refresh-dependencies -Pheadless createPackage
14:48:51  > Task :jpackage
14:48:51  [14:49:12.348] Running candle.exe
14:48:51  [14:49:12.386] Running C:\Program Files (x86)\WiX Toolset
v3.11\bin\candle.exe
14:48:51  [14:49:12.762] Running light.exe
14:48:51  [14:49:12.773] Running C:\Program Files (x86)\WiX Toolset
v3.11\bin\light.exe
14:48:51  [14:49:13.207] Detected [candle.exe] version [3.11.2.4516].
14:48:51  [14:49:13.208] Detected [light.exe] version [3.11.2.4516].
14:48:51  [14:49:13.210] WiX 3.11.2.4516 detected. Enabling advanced
cleanup action.
14:48:51  [14:49:13.211] jdk.jpackage.internal.ConfigException: Version
sting may have between 1 and 3 components: 1, 1.2, 1.2.3.
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.WinMsiBundler.validate(WinMsiBundler.java:319)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.WinExeBundler.validate(WinExeBundler.java:93)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:675)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:550)
14:48:51   at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91)
14:48:51   at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52)
14:48:51  Caused by: java.lang.IllegalArgumentException: Version sting may
have between 1 and 3 components: 1, 1.2, 1.2.3.
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.MsiVersion.of(MsiVersion.java:46)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.WinMsiBundler.validate(WinMsiBundler.java:317)
14:48:51   ... 5 more
14:48:51  [14:49:13.218] jdk.jpackage.internal.PackagerException: Bundler
EXE Installer Package skipped because of a configuration problem: Version
sting may have between 1 and 3 components: 1, 1.2, 1.2.3.
14:48:51  Advice to fix: Set value of --app-version parameter according to
these rules:
https://msdn.microsoft.com/en-us/library/aa370859%28v=VS.85%29.aspx
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:688)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:550)
14:48:51   at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91)
14:48:51   at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52)
14:48:51  Caused by: jdk.jpackage.internal.ConfigException: Version sting
may have between 1 and 3 components: 1, 1.2, 1.2.3.
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.WinMsiBundler.validate(WinMsiBundler.java:319)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.WinExeBundler.validate(WinExeBundler.java:93)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:675)
14:48:51   ... 3 more
14:48:51  Caused by: java.lang.IllegalArgumentException: Version sting may
have between 1 and 3 components: 1, 1.2, 1.2.3.
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.MsiVersion.of(MsiVersion.java:46)
14:48:51   at
jdk.jpackage/jdk.jpackage.internal.WinMsiBundler.validate(WinMsiBundler.java:317)
14:48:51   ... 5 more
14:48:51
14:48:51
14:48:51  > Task :jpackage FAILED
14:48:51
14:48:51  FAILURE: Build failed with an exception.
14:48:51
14:48:51  * What went wrong:
14:48:51  Execution failed for task ':jpackage'.
14:48:51  > Process 'command 'C:\Program Files\Eclipse
Adoptium\jdk-17.0.2.8-hotspot/bin/jpackage.exe'' finished with non-zero
exit



tor. 24. mar. 2022 kl. 17:39 skrev Alexey Semenyuk <
alexey.semenyuk at oracle.com>:

> Hi Sverre,
>
> The output comes from quite old jpackage (jdk15, I guess). Please try
> jpackage from the newer jdk (the latest one would be the best option).
> They don't have this issue.
>
> - Alexey
>
> On 3/23/2022 10:01 AM, Sverre Moe wrote:
> > Could jpackage instruct WiX when building a native application on
> Windows,
> > to support 4 digits in the version?
> >
> > 14:41:18  Detected [light.exe] version [3.11.2.4516].
> > 14:41:18  Detected [candle.exe] version [3.11.2.4516].
> > 14:41:18  WiX 3.11.2.4516 detected. Enabling advanced cleanup action.
> > 14:41:18  Version sting may have up to 3 components - major.minor.build .
> > 14:41:18  jdk.incubator.jpackage.internal.ConfigException: Version string
> > is not compatible with MSI rules [1.10.3.1]
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.WinMsiBundler.validate(WinMsiBundler.java:256)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.WinExeBundler.validate(WinExeBundler.java:99)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.generateBundle(Arguments.java:640)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.processArguments(Arguments.java:514)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.execute(Main.java:97)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.main(Main.java:51)
> > 14:41:18  jdk.incubator.jpackage.internal.PackagerException: Bundler EXE
> > Installer Package skipped because of a configuration problem: Version
> > string is not compatible with MSI rules [1.10.3.1]
> > 14:41:18  Advice to fix: Set the bundler argument
> "win.msi.productVersion"
> > according to these rules:
> > https://msdn.microsoft.com/en-us/library/aa370859%28v=VS.85%29.aspx .
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.generateBundle(Arguments.java:653)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.processArguments(Arguments.java:514)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.execute(Main.java:97)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.main.Main.main(Main.java:51)
> > 14:41:18  Caused by: jdk.incubator.jpackage.internal.ConfigException:
> > Version string is not compatible with MSI rules [1.10.3.1]
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.WinMsiBundler.validate(WinMsiBundler.java:256)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.WinExeBundler.validate(WinExeBundler.java:99)
> > 14:41:18   at
> >
> jdk.incubator.jpackage/jdk.incubator.jpackage.internal.Arguments.generateBundle(Arguments.java:640)
> > 14:41:18   ... 3 more
> >
> > Perhaps something like this solution could be incorporated with the
> > JPackage tool.
> > https://github.com/hvandrie/msiCAFindRelatedProductsEx
> > jpackage --windows-version-components=4
>
>


More information about the core-libs-dev mailing list