NiceLeeのBlog 用爱发电 bilibili~

备忘录 jpackage 关于其它(五)

2024-07-10
nIceLee

阅读:


一些已知问题或问题的解决方法。

保留BilibiliDown.cfg配置

每次新版本msi安装包都会覆盖旧版本app/BilibiliDown.cfg的内容,如果对它做了修改的话,新版本会回退到默认设置。
查看代码WinLauncher.cpp#L232-L250AppLauncher.cpp#L163-L175
程序会检查从app/.package读取包名称pkgName,然后依次尝试从{LOCALAPPDATA}/{pkgName}{APPDATA}/{pkgName}./app目录下查找BilibiliDown.cfg
所以,我们可以把配置放到{LOCALAPPDATA}/{pkgName}或者{APPDATA}/{pkgName},对应的,也就是:

C:\Users\[你的用户名称]\AppData\Local\BilibiliDown
C:\Users\[你的用户名称]\AppData\Roaming\BilibiliDown

修改使用的JVM位置

对于使用脚本来说,这个问题不是问题。
但如果是exe来启动的话,默认JVM是在./runtime文件夹,需要修改配置。
查看代码AppLauncher.cpp#L59-L77CfgFile.cpp#L267
我们可以在配置文件BilibiliDown.cfg中配置app.runtime选项,举例:

[Application]
app.classpath=launch.jar
app.mainclass=nicelee.memory.App
app.runtime=D:\Program Files\BilibiliDown\runtime

[JavaOptions]
java-options=-Djpackage.app-version=1.6.32.0
java-options=-Dfile.encoding=utf-8

jpackage打包的msi程序安装/卸载不成功

安装时,会将设置好的下载文件目录追加到config/app.config目录下,如果config目录不存在的话,那么就会报错。
如果是其它情况,可以参考Get a Log of Your Installation for Debugging,将msi程序的安装log记录下来,然后再具体分析。举例:

msiexec /i MyApplication.msi /l*v MyLogFile.txt

jpackage打包的exe程序无法自重启

JDK的已知问题,详见:
Restarted jpackage apps will be killed when the starting jpackage app exits.
System.exit(0) kills the launched 3rd party application


内容
隐藏