将JAR打包成EXE,并且生成安装文件

桌面程序项目完成后,需要将项目打包成安装包在WINDOWS下运行,用户安装后直接运行EXE即可运行JAVA写的系统。

我使用了

JSMOOTH 0.9.9.7来将JAR生成EXE,

然后再用inno setup 5.0将EXE,绿色的JRE,MYSQL打包成安装包,用户安装时执行选择安装路径就可以完成所有安装,安装后弹出配置界面让用户选择是否在本地安装MYSQL还是使用远程的MYSQL,然后生成相应的配置文件和WINDOWS服务。

 

JSMOOTH下载路径:

http://jsmooth.sourceforge.net/

 

INNO SETUP下载路径:

http://www.jrsoftware.org/isinfo.php

 

INNO SETUP的参数配置可以参考

http://www.jrsoftware.org/ishelp/

http://www.xdowns.com/article/170/Article_938.html

 

绿色JRE

直接从本机安装的JRE的整个目录COPY,没做最小化

 

绿色MYSQL

也是直接从本机COPY,安装时更加安装目录修改MY.INI中的basedir和datadir,

并且直接使用Runtime.run运行 CMD命令的生成MYSQL服务

{app}/mysql/bin/mysqld --install mysql --defaults-file={app}/mysql/my.ini

net start mysql

 

删除MYSQL服务的CMD

net stop mysql
{app}/mysql/bin/mysqld --remove mysql

 

其中的app是安装目录,安装时以参数方式传给JAVA的MAIN

 

JSMOOTH使用很简单,不过有两个小BUG

1、选择EXE图标时发现不识别ICO文件,比较搞笑

2、中文名称EXE,每次关闭后再打开都会乱码,但是生成的EXE名称不乱码,只能在每次重新打开时重新输入中文名称

3、JVM配置,有MAX和INIT,及最大内存和初始化内存一定要设置合理,MAX要大于INIT,我有一次不小心把MAX设成小于INIT的,结果生成的EXE总不能执行,原因还怪怪的。

 

INNO SETUP使用也很简单,使用INNO SETUP 5.4.2 unicode版

1、新建时有界面配置,编辑是只能写脚本了,没有界面。具体语法参考上面连接

2、默认生成的安装包,安装时界面是英文的,可以用附件中的Default.isl替换安装目录中的同名文件,即可显示中文安装向导

3、自定义的弹出界面,需要单独用JAVA写代码,然后用JSMOOTH编译成EXE,可以使用绑定JVM,然后再在INNO SETUP的脚本中引用,我是写在[RUN]端中,如下:

Filename: "{app}\myconfig.exe"; Description: "安装数据源";Parameters: "{app}" ; Flags:  skipifsilent

你可能感兴趣的:(jar)