我正在尝试在安装完成后启动 install4j Launcher,但它不起作用。启动器虽然可以作为开始菜单项工作。我有理由相信这是因为我的应用程序是通过 Java Web Start 启动的(必须是出于法律原因)。
在我的 install4j 安装程序中单击完成按钮时会发生什么:
- 安装程序窗口消失,Java WebStart 启动(显示其启动画面)。
- 什么都没有发生(通常我的 Java 应用程序会从这里开始)。
通过查看 Java 日志,我可以看到 WebStart 实际上执行了我的 Java 应用程序,但它无法完全启动,因为文件 C:\Users\UserName\AppData\Local\Temp\e4j2E4E.tmp_dir\jre\lib\ext \dnsns.jar 不再存在。这个目录似乎是 install4j 临时放置它需要运行的 JRE 的地方。
通过在文件管理器中按 F5,我可以看到在执行 WebStart 后 JRE 已被删除(我猜是 install4j)。这可以解释为什么我的 Java 应用程序会失败。
运行开始菜单启动器时(安装后手动),一切正常,因为我的 Java 应用程序正在使用与其捆绑的 JRE(在它自己的子文件夹中)。
如何防止 install4j 删除临时 JRE,或强制 WebStart 使用另一个(捆绑的)JRE 执行我的 Java 应用程序?
在此先感谢您的任何建议!
==EDIT== 这就是我的应用程序的启动方式: install4j Launcher 启动了我的一个 Java 类,它启动了一个 javaws 二进制文件,它启动了我的主要 Java 应用程序。