用 installanywhere2009打包java程序 带有mysql数据库

最近做了一个桌面程序,用到了mysql数据库,最后要实现程序打包成安装文件。就java本身而言,这并没有什么难的,但因为有了mysql这个烂东西,让我研究打包就打了一个多周,而网上的有些方法,,看似很详细,其实会遇到很多错误,以下是本人经过简化之后的步骤,不要问为什么,多打几遍你就知道了:

1.你要下载installanywhere,去Google上搜一下就有,还有破解方法(一定要破解,虽然不破解也能打包,但你会发现一段时间后就不能用了)。

2.要下载绿色版的mysql,一定要用绿色版的,否则会带来很多不必要的麻烦。搜一下csdn上就有。

3.把你要打包好的东西全部放在同一个文件夹下,我们暂且叫这个文件夹叫做abcde。其中,mysql绿色版解压后改名为mysql(不是必需的,只是为了书写方便),然后将mysql文件夹放在abcd目录下。

4.打开mysql,查看有没有一个叫做my.ini的文件,没有的话创建一个。我的my.ini内容如下:

[client]

port=3306

[mysql]

default-character-set=utf8[mysqld]basedir=D:/Program Files/CharacterWeb/MySQLdatadir=D:/Program Files/CharacterWeb/MySQL/data

default-character-set=utf8

最重要的是basedir=D:/Program Files/CharacterWeb/MySQLdatadir=D:/Program Files/CharacterWeb/MySQL/data

这个会指导系统区注册你的mysql服务,不过最好改成如下形式:

basedir=$INSTALL_DIR$/MySQLdatadir=$INSTALL_DIR$/MySQL/data

$INSTALL_DIR$是installanywhere传的参数,即你的安装路径

5.打开installanywhere,新建一个基本模板,保存路径,点击下面的AdvancedDesigner(有两种形式,一种是向导形式的,一种是详细设置,这里我们用详细设计)

之后会看到如下界面:

在project—info中写上自己的软件名(记住,这里面的大多数东西都是不用配置的),在project–Locales中选择安装语言。

6.如下图所示,点击AddFiles加入整理好的abcd文件夹下的所有文件夹和文件(不包括abcd文件夹本身)

点击一下SetClasspath,否则完成后将找不到程序的入口。右边还可以选择你的软件安装好后的图标。

7.下面的这一部分是重点,往往都会在这上面出错:

上面显示的一个个都是通过AddAction添加的行为,也就是安装过程中所要发生的一些事,比如使用前说明,mysql注册,mysql服务启动等等.下面是我测试成功的顺序,改变后可能会出错:

(1)新建一个ActionGroup,用来存放你新建的Action

(2)新建一个Execute Script/Bach file

里面然后再下面填充内容(直接拷贝就行了):

Comment: 删除服务执行文件项

Script: REG Delete HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Mysql /v ImagePath /f

(3)新建第二个Execute Script/Bach file

里面然后再下面填充内容(直接拷贝就行了):

Comment: MySQL注册

Script: Call "$USER_INSTALL_DIR$/MySQL/bin/mysqld.exe" -install Mysql –defaults-file="$USER_INSTALL_DIR$/MySQL/my.ini"

(4)新建第三个Execute Script/Bach file

里面然后再下面填充内容(直接拷贝就行了):

Comment: 添加服务执行文件项

Script:REG add HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MySQL /v ImagePath /t REG_EXPAND_SZ /d "$USER_INSTALL_DIR$/MySQL/bin/mysqld.exe /"–defaults-file=$USER_INSTALL_DIR$/MySQL/my.ini/" MySQL"

(5)新建startWindowsService

(8)最后一步,按图例选择即可,然后点击Build Project即可:

到这里基本上就完成了,点击TryInstaller试着安装一下。

另外,还有一个问题,有的同志喜欢打包前将数据也一块打进去,这样mysql就不用再导入数据了,有的人一定会想用脚本控制,我感觉太麻烦,脚本老是出错,所以我想了另一个办法,那就是先按上述方法安装好,用图形工具把数据倒入mysql,然后把安装好的目录下的mysql整个目录覆盖abcde下的mysql目录,再重新打一遍就ok了,这样用户安装完后数据就可以直接用了。

(本人新手,不足之处,多多指正)

会得到最大的满足,因为它填补了你的空虚。

用 installanywhere2009打包java程序 带有mysql数据库

相关文章:

你感兴趣的文章:

标签云: