我可以捆绑JRE的唯一方法是使用Launch4J和Inno Setup Compiler。
首先,在与输出文件相同的目录中创建一个文件夹(例如.exe)。jre6
然后将 JRE 从系统复制到 jre6 文件夹中。
然后打开Launch4J并设置捆绑的JRE路径 - 只需键入.然后单击“生成”按钮(显然,在输入了所有其他参数之后 - 但是在 JRE 选项卡本身上需要输入的唯一值是捆绑的 JRE 路径值。jre6
我本来以为这可以工作,但是如果您随后将.exe移动到新位置(因此它不再与jre6文件夹位于同一位置),您将获得此应用程序配置为使用捆绑的Java运行时环境,但是当您尝试运行该应用程序时,运行时丢失或损坏错误...
我整天都在玩这个,我无法让Launch4J将JRE包含在.exe文件中。在我看来真的很差,因为他们的文档似乎根本没有提到这个问题。
所以我要解决的问题是使用Inno Setup Compiler(ISC)。此应用程序用于将.exe包装为Windows安装程序文件。因此,我向 ISC 脚本添加了一个设置,该设置将 JRE 复制到安装程序包中。我添加到脚本中的行(在本节中)是:[Files]
Source: "M:\Netbeans\MyApp\jre6\*"; DestDir: "{app}\jre6\"; Flags: recursesubdirs createallsubdirs
...有点解决方法,但它做到了。
重复上述所有步骤,您应该进行排序。