将 jpackage 与 WiX 4 结合使用

mr *_*olf 12 java jpackage

我正在尝试打包一个适用jpackage于 Windows 的应用程序。我正在使用Java 19WiX 4

Package Id      Version              Commands
---------------------------------------------
wix             4.0.0-preview.1      wix
Run Code Online (Sandbox Code Playgroud)
java 19.0.1 2022-10-18
Java(TM) SE Runtime Environment (build 19.0.1+10-21)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

根据Packaging Tool User's Guide,生成windows安装包的要求是:

需要 WiX 3.0 或更高版本。

但是,当尝试生成包时,我收到错误:

[09:26:34.026] Can not find WiX tools (light.exe, candle.exe)
[09:26:34.026] Download WiX 3.0 or later from https://wixtoolset.org and add it to the PATH.
Run Code Online (Sandbox Code Playgroud)

问题的本质很清楚。jpackage不支持WiX 4,尽管它没有以纯文本形式写入任何地方。

解决方案也很明确,我安装了WiX 3。然而,“问题”来了。WiX 3需要旧版本的 .Net (3.5.1) 或至少“Windows features .Net 3.5.1”。然而,这是我想要避免的。

我的问题是,截至今天,有没有办法直接使用WiX 4with jpackage

mar*_*usm 1

使用解决方法wix-3(无需弄乱 dotnet):

  1. wix311-binaries.zipWiX Toolset v3 版本下载
  2. 将存档解压到wix3文件夹中
  3. 将文件夹添加到环境变量wix3PATH
  4. 重新启动终端以使 PATH 设置生效
  5. 再试jpackage一次