javajavafxwixjavafx-gradle-pluginjavafx-packager

Adding extension libraries to wix when using the JavaFX packager?


I'm using the JavaFX packager through the JavaFX-Gradle-Plugin and I need to add a couple of Wix extension libraries to be able to run my app after install.

How do I achieve that?

According to the Wix documentation, by adding -ext WixUIExtension -ext WixUtilExtension to the command line, but I don't see how to do it from the JavaFX packager nor JavaFX-Gradle-Plugin.


Solution

  • After looking into the responsible msi-bundler, I found this fragment:

    List<String> commandLine = new ArrayList<>();
    
    // (...)
    commandLine.add("-ext");
    commandLine.add("WixUtilExtension");
    if (enableLicenseUI || enableInstalldirUI) {
        commandLine.add("-ext");
        commandLine.add("WixUIExtension.dll");
    }
    
    // (...)
    

    This means WixUtilExtension is always added, and when having the user to choose the installation target directory, the extension WixUIExtension gets added too.

    To have the user choose the target installation directory, you have to set this inside the jfx-configuration-part:

    jfx {
    // ...
        bundleArguments = [
            'installdirChooser': true
        ]
    // ...
    }
    

    https://github.com/FibreFoX/javafx-gradle-plugin/issues/101

    Disclaimer: I'm the creator of the javafx-gradle-plugin