有没有办法使用 jpackage 更改安装程序文件的图标?

is there a way to change icon of the installer file using jpackage?

我有一个简单的模块化 javafx 应用程序。

我使用

编译它
dir /s /b src\*.java > sources.txt & javac --module-path %PATH_TO_FX% -d mods/hellofx @sources.txt & del sources.txt

这将创建模组目录

然后我使用命令创建运行时映像

jlink --module-path "%PATH_TO_FX_MODS%;mods" --add-modules hellofx --output hellofx

这会在 hellofx 目录中创建运行时映像

现在我使用 jpackage 命令创建 windows 安装程序。在目录中,我有一个应用程序图标。

jpackage --runtime-image hellofx --module hellofx/hellofx.HelloFX --win-shortcut --win-menu --icon smile.ico

此图标用于已安装的应用程序,但有没有办法为安装程序文件本身创建一个图标?名为 HelloFX-1.0 的安装程序文件没有图标。有没有办法配置 jpackage 来改变这个文件的图标?感谢您的帮助!

在引擎盖下,jpackage 工具使用特定于平台的工具来创建各种包类型。因此,包装的定制也是非常特定于平台的,必须针对每个支持的平台和包装类型单独处理。但是,您可以使用 jpackage 的两个常见功能来简化此任务。

第一个是选项 --temp some_temp_dir,它要求 jpackage 将创建所选包类型所需的所有脚本和资源复制到目录 some_temp_dir 中。这些是 jpackage 默认使用的脚本和资源。

第二个是选项 --resource-dir some_resource_dir,它要求 jpackage 首先在目录 some_resource_dir 中查找资源,然后仅对未在目录中找到的资源使用默认值。

使用这两个选项,您可以首先生成一组默认资源,您可以从中选择要修改的资源并将它们复制到目录 some_resource_dir。在 jpackage 的第二个 运行 中,您可以应用这些更改。您可以通过这种方式进行的最有可能的更改是将各种包类型使用的默认图标与您自己的图标进行交换。