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

☂ Windows packaging suggestions

    Details

    • Subcomponent:
    • CPU:
      generic
    • OS:
      windows

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                asemenyuk Alexey Semenyuk
                Reporter:
                asemenyuk Alexey Semenyuk
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: