通常我将Java应用程序部署为包含JVM的包,因此无需在系统上安装JVM。
顺便说一下:这不是jnlp applet,这是一个普通的Swing应用程序
我是用蚂蚁fx:deploy
做到的。这已经适用于64位系统。
我的问题是,我想将这个应用程序部署到32位系统而不能让它工作。
这就是我所做的:
我已经设置了一个干净的Windows 7(32位)实例并安装了32位JVM。现在我运行我的ant脚本来构建一个捆绑的Java应用程序,它构建了一个App.exe。
但是当我尝试通过双击启动此exe时,我得到以下消息框
如果我单击“确定”,我会收到另一个消息框
在此之后,应用程序终止
我没有找到任何搜索网络有关捆绑32/64位系统的内容
如果有人能指出我正确的方向,我会很高兴
非常感谢提前!
问候,-chris -
答案 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。