您可以使用 Java JPackage 来创建自己的 Windows 安装程序而不使用其 运行 应用程序的方式吗
Can you use Java JPackage to create own Windows installer without using its way of running application
背景,我目前使用 Izpack 作为我的 Windows 安装程序,我捆绑了一个 java 运行time 并使用 win运行4j 作为安装和安装后的实际程序的包装器。它工作了很长时间,但安装程序有很多问题我无法解决,一直在寻找替换它。
Oracle 现在提供 JPackage 安装程序,因此这似乎是一个明智的选择。但是安装程序创建的文件夹结构与我目前拥有的不同,我有许多配置文件和非 java 文件,我无法获得 JPackage 创建的 .exe 来执行任何操作。
那么是否可以使用 JPackage 来创建安装程序,但结构更符合我现有的结构,并继续使用 WInRun4j 来实际 运行 我的应用程序
现有文件夹结构
ROOT
---App.exe
---Config Files
---lib
-------jar files
---JVM64
------- Java runtime
---help
J包结构
ROOT
---App.exe
---Runtime Dlls
---app
----- jar files
Config files
--runtime
------Java runtime
------Runtime Dlls (again)
jpackage 生成的目录结构主要是为您设置的,似乎无法更改,并且使用自包含的 JRE 使得 Java 应用程序依赖项的安装非常容易。 Windows 的基本结构如你所说:
ROOT
---App.exe (for --main-class parameter)
---xyz.exe (for each --add-launcher parameter)
---Runtime Dlls (these appear to be unused except for applauncher.dll, see SO 62607300)
---app/
------App.cfg (for --main-class)
------xyz.cfg (for per --add-launcher)
---runtime/
------Java runtime
------Runtime Dlls
使用 --input
和 --main-jar
参数,您可以在 app/ 文件夹下自由设置其他目录结构,用于您的应用程序所需的任何其他内容。因此,如果您使用 lib/myappjar.jar
,它将添加:
---app/
-------lib/
----------myappjar.jar
如果您使用 --input build\mypath
它会复制该文件夹下的整个文件树,因此如果 build\mypath
目录包含
bin/
---Scripts
---xyz.properties
README.txt
那么应用程序还将包含:
---app/
------bin/
---------Scripts
---------xyz.properties
------README.txt
顺便说一句,放置在顶层的运行时 DLL 似乎是 runtime/bin 下某些 DLL 的副本
[
背景,我目前使用 Izpack 作为我的 Windows 安装程序,我捆绑了一个 java 运行time 并使用 win运行4j 作为安装和安装后的实际程序的包装器。它工作了很长时间,但安装程序有很多问题我无法解决,一直在寻找替换它。
Oracle 现在提供 JPackage 安装程序,因此这似乎是一个明智的选择。但是安装程序创建的文件夹结构与我目前拥有的不同,我有许多配置文件和非 java 文件,我无法获得 JPackage 创建的 .exe 来执行任何操作。
那么是否可以使用 JPackage 来创建安装程序,但结构更符合我现有的结构,并继续使用 WInRun4j 来实际 运行 我的应用程序
现有文件夹结构
ROOT
---App.exe
---Config Files
---lib
-------jar files
---JVM64
------- Java runtime
---help
J包结构
ROOT
---App.exe
---Runtime Dlls
---app
----- jar files
Config files
--runtime
------Java runtime
------Runtime Dlls (again)
jpackage 生成的目录结构主要是为您设置的,似乎无法更改,并且使用自包含的 JRE 使得 Java 应用程序依赖项的安装非常容易。 Windows 的基本结构如你所说:
ROOT
---App.exe (for --main-class parameter)
---xyz.exe (for each --add-launcher parameter)
---Runtime Dlls (these appear to be unused except for applauncher.dll, see SO 62607300)
---app/
------App.cfg (for --main-class)
------xyz.cfg (for per --add-launcher)
---runtime/
------Java runtime
------Runtime Dlls
使用 --input
和 --main-jar
参数,您可以在 app/ 文件夹下自由设置其他目录结构,用于您的应用程序所需的任何其他内容。因此,如果您使用 lib/myappjar.jar
,它将添加:
---app/
-------lib/
----------myappjar.jar
如果您使用 --input build\mypath
它会复制该文件夹下的整个文件树,因此如果 build\mypath
目录包含
bin/
---Scripts
---xyz.properties
README.txt
那么应用程序还将包含:
---app/
------bin/
---------Scripts
---------xyz.properties
------README.txt
顺便说一句,放置在顶层的运行时 DLL 似乎是 runtime/bin 下某些 DLL 的副本
[