You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaFX-Gradle-Plugin调用JavaFX打包器时如何添加Wix扩展库?

解决JavaFX Gradle Plugin打包时添加Wix扩展的问题

我之前也碰到过这个需求,刚好有两种靠谱的解决办法,取决于你用的JavaFX Gradle Plugin版本:

针对新版JavaFX Gradle Plugin(0.15+,基于jpackage)

从Java 16开始,官方推荐使用jpackage来打包JavaFX应用,新版的JavaFX Gradle Plugin也默认用它。要添加Wix的两个扩展,你可以直接在jpackage任务里配置installerOptions,指定--win-wix-ext参数:

plugins {
    id 'org.openjfx.javafxplugin' version '0.15.0'
    // 其他插件...
}

javafx {
    modules = ['javafx.controls', 'javafx.fxml'] // 你的JavaFX模块
    version = '21' // 对应你的JavaFX版本
}

tasks.jpackage {
    // 基础配置,按需调整
    mainClass = 'com.yourpackage.MainApp'
    installerType = 'exe'
    imageName = 'YourAppName'
    installerName = 'YourAppInstaller'

    // 添加Wix扩展参数
    installerOptions += [
        "--win-wix-ext", "WixUIExtension",
        "--win-wix-ext", "WixUtilExtension"
    ]
}

每个Wix扩展需要单独用一次--win-wix-ext参数,这样jpackage在调用Wix工具链时会自动加载这些扩展。

针对旧版插件或使用javafxpackager的场景

如果你的项目还在使用Java 8/10时期的旧版插件(依赖javafxpackager),可以通过extraAppImageArgs传递Wix扩展的配置:

plugins {
    id 'org.openjfx.javafxplugin' version '0.14.0'
    // 其他插件...
}

javafx {
    modules = ['javafx.controls', 'javafx.fxml']
    version = '11'
}

tasks.javafxPackage {
    nativeBundles = 'exe'
    mainClass = 'com.yourpackage.MainApp'

    // 传递Wix扩展参数
    extraAppImageArgs = [
        "-Bwin.wix.extensions=WixUIExtension;WixUtilExtension"
    ]
}

或者如果是通过Ant任务配置的打包逻辑,也可以直接设置bundleArguments:

ant.javafxdeploy {
    outdir = file("build/dist")
    outfile = "YourAppName"
    nativeBundles('exe')
    appclass = 'com.yourpackage.MainApp'

    bundleArguments([
        'win.wix.extensions': 'WixUIExtension;WixUtilExtension'
    ])
}

额外注意事项

  • 确保你的系统已经安装了Wix工具集,并且WixUIExtension.dll和WixUtilExtension.dll所在的目录(通常是Wix安装目录下的bin文件夹)已经添加到系统PATH中,否则打包器会找不到这些扩展。
  • 如果你用的是jpackage,建议使用Java 16及以上版本,因为jpackage在Java 16才正式成为标准工具(之前是孵化状态,参数可能有变动)。

内容的提问来源于stack exchange,提问作者Pablo Fernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:16:33