Java中JSmooth中捆绑JRE的问题

时间:2011-03-23 14:58:06

标签: java installer jvm

朋友们,我正在使用JSMOOTH安装程序创建.exe文件和捆绑我的默认JRE路径..

如果用户的系统中没有Java虚拟机,则必须在我的.exe文件中使用捆绑的JRE ..

但是它的重定向到下载页面我尝试了所有的骨架选项,但没有使用捆绑的JRE ..

有5个骨架1.Win服务2.Autodownload包装3.Console包装4.Windowed Wrapper 5.Custom web downloader wrapper

我的问题是:

1.从这五个选项中我必须选择这样一个选项:如果用户不是JVM,则使用我的捆绑JRE。

我得到的错误如下“

  1. 如果我使用1.Auto下载包装器作为我的骨架我将获得thisenter image description here

  2. 如果我使用CustomWeb下载程序作为我的骨架我将获得this

  3. 3.如果我使用windowed wrappper作为我的骨架控制台我得到this

    1. 如果我使用Console wrapper作为我的骨架,我将获得this
    2. 我想要的是,如果用户系统中没有JVM,它必须使用Bundled JRE而不是要求下载JAVA ..

      我提到了this手册并且这样做但仍然无法实现我的目的地..

      我的JSmooth屏幕为JVMScreen

      ExecutableScreen

      Application screen

      我的桌面文件夹里面有我的JAR文件,还有里面的JRE文件夹..

      我尝试将JRE保持在.exe和默认路径附近。但是它始终指的是默认的Java路径的Jre ...

2 个答案:

答案 0 :(得分:0)

我不熟悉JSmooth Java启动器创建者。但是,基于Launch4J Java启动程序创建程序,您应将目标JRE文件夹(目标JRE的所有文件夹和子文件夹保持不变)作为应用程序启动程序包的一部分。必须从可以找到JRE文件夹的基本文件夹运行Launch4J。例如,如果您有一个项目启动程序路径,如“C:\ MYProject \ install”,您编译所有类路径依赖项文件以运行启动器EXE文件与“C:\ MyProject \ install \ jre1.6.0_26”是目标里面有JRE文件夹。您的JVM包条目应为“jre1.6.0_26”。 Launch4J EXE启动器文件应能从“C:\ MYProject \ install”的基础找到相对的“jre1.6.0_26”文件夹

将其转换为EXE启动程序文件在尝试运行时将执行的操作:

C:\C:\MYProject\install
 |__MyApp.EXE (your resulting output launcher file)
 |__all classpath dependency jars needed by MyApp.EXE
 |__jre1.6.0_26 (folder of JVM bundle)

Launch4J脚本的Ant任务:

<exec executable="C:\Program Files\Launch4j\launch4jc.exe">
    <arg value="${basedir}\myLaunch4j.xml"/>
</exec>

答案 1 :(得分:0)

我遇到了同样的问题。根据以太的其他提示,我认为 该问题与win32 / win64有关,特别是bundle选项将 仅适用于win32 jre。我接通了win32 jre并获得了进一步的发展,但是 启动仍失败,因为某些必要的.dll尚未被执行 已安装。看起来,如果没有 jre设计为不需要安装。

然后,我发现https://portableapps.com/apps/utilities/java_portable 然后我成功了。它是Java 1.8.0_181,有点 旧的,但足以满足我的需求。