Feedback from Rachel Greenham <rachel@strangenoises.org>:
I've been quiet because it's been working well enough for us. That said, our needs and process probably simplify matters in that:
1. We're only producing Windows installers
2. We've been lucky in having patient clients during this post-webstart, post-javapackager disruption.
3. We were happy to modify our versioning to match Windows standards
4. Our application is non-modular
5. We do it in three steps: jlink to make a JRE, then jpackage to make an app image, then jpackage again to make both an exe and msi installer based on that image. (client slow to reply which one they'd actually prefer!) Not trying to do everything in one step.
Since the fix that made new versions of our app correctly replace older ones I've mostly just been testing new EA builds to make sure they don't break it! They do sometimes, usually because of changes in the parameter names, and of course we lost our Inno Setup customisations. I haven't yet made any attempt to customise the EXE setup installer since then.
Would be nice:
1. For it to use the supplied app icon for the installer, or be able to supply another specifically for the installer. For it to be shown in the installer in some fashion. Other exe customisations of straightforward branding and/or flags to control what questions they're asked would be very nice.
2. For it to be able to sign the installer in the fashion of, or actually using, signtool. (Ideally internalised as installing signtool itself is a pain.) Currently that's an extra step after the installers are built
But I can wait for them, I want it in a release so I can use it via ToolProvider rather than execing an external JDK. All the while it's the way it is it massively complicates the build.
Later would-be-nices, not for this desktop app, but ability to use it to package background service-type apps, as a service for windows, using launchd for osx, and systemd for linux.
Feedback from Sverre Moe <sverre.moe@gmail.com>:
I have some new comments regarding the Windows build of jpackage.
1)
Is there any way to build an trusted application installer using WiX?
I want to avoid "Unknown Publisher" when installing the application.
Also having problems with Windows Defender SmartScreen, depending on what
settings the user has (Block, Warn, Off).
If Block, the user cannot install the application. If Warn, the user can
click "More info", then "Run anyway".
2)
The EXE installer details has no information about the actual application
it will install.
File version: 14.0.0
Product Name OpenJDK Platform 14
Product version: 14
This is not quite right, since the application was built with Java 11, only
packaged with jpackage from Java 14.
Should it not use the name and app version supplied to jpackage on these
properties.
Original filename: msiwrapper.msi.
It should be the name supplied to jpackage used here at least >
applicationName.msi
Building an MSI has much better detail properties, but a couple of the
description properties says nothing about the actual application.
Title: Installation Database
Comments: This installer database contains the logic and data required to
install applicationName.
Any way to change the title and comments?
3)
The icon for the installer file is not using the one from the resource
directory. If supplied the --icon argument is not used.
Both Explorer and List of installed application shows a generic application
icon.
4)
MSI installer has a Category detail property. Perhaps jpackage should have
an --windows-category argument.
5)
Help text for --icon argument should mention that it needs to be an ICO
when packaging on Windows.
Currently there is no way to supply a custom WXS file to WiX in the
resource directory. Perhaps this could help further customization.
/Sverre
I've been quiet because it's been working well enough for us. That said, our needs and process probably simplify matters in that:
1. We're only producing Windows installers
2. We've been lucky in having patient clients during this post-webstart, post-javapackager disruption.
3. We were happy to modify our versioning to match Windows standards
4. Our application is non-modular
5. We do it in three steps: jlink to make a JRE, then jpackage to make an app image, then jpackage again to make both an exe and msi installer based on that image. (client slow to reply which one they'd actually prefer!) Not trying to do everything in one step.
Since the fix that made new versions of our app correctly replace older ones I've mostly just been testing new EA builds to make sure they don't break it! They do sometimes, usually because of changes in the parameter names, and of course we lost our Inno Setup customisations. I haven't yet made any attempt to customise the EXE setup installer since then.
Would be nice:
1. For it to use the supplied app icon for the installer, or be able to supply another specifically for the installer. For it to be shown in the installer in some fashion. Other exe customisations of straightforward branding and/or flags to control what questions they're asked would be very nice.
2. For it to be able to sign the installer in the fashion of, or actually using, signtool. (Ideally internalised as installing signtool itself is a pain.) Currently that's an extra step after the installers are built
But I can wait for them, I want it in a release so I can use it via ToolProvider rather than execing an external JDK. All the while it's the way it is it massively complicates the build.
Later would-be-nices, not for this desktop app, but ability to use it to package background service-type apps, as a service for windows, using launchd for osx, and systemd for linux.
Feedback from Sverre Moe <sverre.moe@gmail.com>:
I have some new comments regarding the Windows build of jpackage.
1)
Is there any way to build an trusted application installer using WiX?
I want to avoid "Unknown Publisher" when installing the application.
Also having problems with Windows Defender SmartScreen, depending on what
settings the user has (Block, Warn, Off).
If Block, the user cannot install the application. If Warn, the user can
click "More info", then "Run anyway".
2)
The EXE installer details has no information about the actual application
it will install.
File version: 14.0.0
Product Name OpenJDK Platform 14
Product version: 14
This is not quite right, since the application was built with Java 11, only
packaged with jpackage from Java 14.
Should it not use the name and app version supplied to jpackage on these
properties.
Original filename: msiwrapper.msi.
It should be the name supplied to jpackage used here at least >
applicationName.msi
Building an MSI has much better detail properties, but a couple of the
description properties says nothing about the actual application.
Title: Installation Database
Comments: This installer database contains the logic and data required to
install applicationName.
Any way to change the title and comments?
3)
The icon for the installer file is not using the one from the resource
directory. If supplied the --icon argument is not used.
Both Explorer and List of installed application shows a generic application
icon.
4)
MSI installer has a Category detail property. Perhaps jpackage should have
an --windows-category argument.
5)
Help text for --icon argument should mention that it needs to be an ICO
when packaging on Windows.
Currently there is no way to supply a custom WXS file to WiX in the
resource directory. Perhaps this could help further customization.
/Sverre
- relates to
-
JDK-8232723 make the resource file main.wxs over-ridable
- Resolved
-
JDK-8236129 Exe installers have wrong properties
- Resolved
-
JDK-8236132 Add missing properties to msi installers
- Resolved
-
JDK-8236127 Use value of --icon CLI option to set icon for exe installers
- Resolved
-
JDK-8236131 Provide more details on --icon parameter
- Closed
-
JDK-8236128 Allow jpackage create installers for services
- Resolved
(1 relates to)