朋友们,我正在使用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.Auto下载包装器作为我的骨架我将获得和
如果我使用CustomWeb下载程序作为我的骨架我将获得
3.如果我使用windowed wrappper作为我的骨架控制台我得到
我想要的是,如果用户系统中没有JVM,它必须使用Bundled JRE而不是要求下载JAVA ..
我提到了this手册并且这样做但仍然无法实现我的目的地..
我的JSmooth屏幕为
我的桌面文件夹里面有我的JAR文件,还有里面的JRE文件夹..
我尝试将JRE保持在.exe和默认路径附近。但是它始终指的是默认的Java路径的Jre ...
答案 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,有点 旧的,但足以满足我的需求。