JavaFX exe捆绑x86 windows系统

时间:2013-05-15 11:32:19

标签: deployment x86 java-7 32-bit


通常我将Java应用程序部署为包含JVM的包,因此无需在系统上安装JVM。 顺便说一下:这不是jnlp applet,这是一个普通的Swing应用程序 我是用蚂蚁fx:deploy做到的。这已经适用于64位系统。 我的问题是,我想将这个应用程序部署到32位系统而不能让它工作。

这就是我所做的:
我已经设置了一个干净的Windows 7(32位)实例并安装了32位JVM。现在我运行我的ant脚本来构建一个捆绑的Java应用程序,它构建了一个App.exe。
但是当我尝试通过双击启动此exe时,我得到以下消息框
Failed to create JVM
如果我单击“确定”,我会收到另一个消息框 Failed to launch JVM
在此之后,应用程序终止 我没有找到任何搜索网络有关捆绑32/64位系统的内容 如果有人能指出我正确的方向,我会很高兴 非常感谢提前!
问候,-chris -

3 个答案:

答案 0 :(得分:4)

看起来已知为即将发布的JavaFX版本(目前称为2.2.40)修复了一个错误:

在错误案例中,用户提到了解决方法:

  

如果我尝试RT-22610中记录的解决方法,即将runtime \ jre \ bin \ msvcr100.dll端复制到我的应用程序的启动器二进制文件中,它会修复它。

我认为该错误已在JDK 8中修复,因此另一种可能的解决方法是下载JDK 8 early access release并使用其中的打包工具打包Java 7应用程序(虽然我从未尝试过,但是我不确定它是否会起作用。)

答案 1 :(得分:2)

对@ jewelsea的修复只是一个小修改:

将msvcr100.dll复制到app /文件夹中,而不是将其放在exe旁边也可以,至少它有点隐藏起来。

答案 2 :(得分:0)

如果您正在生成MSI,则可以破解WIX使用的WXS文件,以自动将msvcr100.dll复制到app文件夹中。使FX Deploy详细说明会告诉您放置临时WXS文件的位置,您可以复制和修改它,并像使用程序图标一样覆盖WXS。