Mac OSX应用商店应用程序上的install4j启动器问题

时间:2018-07-31 19:03:10

标签: install4j

我们正在使用install4j为Java应用程序PDF Studio创建安装程序。

我们当前正在尝试将应用程序提交到Apple商店,为此,需要一个pkg文件。我们已经从Application文件夹中创建了一个pkg文件,该文件是在运行install4j创建的dmg安装程序后创建的,并且正在致力于一一消除Apple商店报告的所有警告和错误。

我们遇到的一个问题是Apple商店不允许符号链接,而JRE包含一个名为libjli.dylib的文件的符号链接。

当我们尝试删除符号链接或将其替换为实际文件时,我们应用程序的i4j启动器已损坏。

当我们从安装文件夹中删除文件时:

rm / Applications / PDF \ Studio \ 2018.app/Contents/PlugIns/jre.bundle/Contents/MacOS/libjli.dylib

在启动时,我们收到一条错误消息,指出“ Java SE 8”由于无法找到其可执行文件而无法加载。”

如果我们尝试将文件复制到符号链接位置:

cp / Applications / PDF \ Studio \ 2018.app/Contents/PlugIns/jre.bundle/Contents/Home/jre/lib/jli/libjli.dylib / Applications / PDF \ Studio \ 2018.app/Contents/PlugIns /jre.bundle/Contents/MacOS

然后启动器失败,没有错误消息对话框。

如果我们在启用install4j日志的情况下运行:

INSTALL4J_LOG =是/ Applications / PDF \ Studio \ 2018.app/Contents/MacOS/JavaApplicationStub

然后它将显示“错误:找不到libjava.dylib。”

有人尝试这样做并使它生效吗?

启动器似乎在/MacOS/libjli.dylib下。我们认为是JavaApplicationStub可执行文件决定了install4j创建的外观。

是否可以设置启动器在何处查找jre.bundle可执行文件libjli.dylib?

1 个答案:

答案 0 :(得分:2)

您可以提取DMG并编辑Info.plist文件,使其包含

<key>CFBundleExecutable</key>
<string>../Home/jre/lib/jli/libjli.dylib</string>

我们将检查总体上是否可以这样做。