用 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/MySQL     
datadir=D:/Program Files/CharacterWeb/MySQL/data 

default-character-set=utf8

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

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

basedir=$INSTALL_DIR$/MySQL     
datadir=$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了,这样用户安装完后数据就可以直接用了。

 

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

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Installanywhere打包javaweb项目 一 准备阶段 由于我们打包的是javaweb项目,实现的目标是在一台没有javaweb项目运行环境下,可以通过一键安装后执行我们的项目客户机上,那么,我们需要准备如下文件 1、jdk -- 可以直接将你本机下安装好的jdk中拷贝,如 2、Tomcat -- 由于客户可能是不懂软件的,那么我们就需要下载一个免安装解压版的Tomcat,直接去官网下载 3、Mysql -- 同理,下载免安装版的mysql数据库 二 预处理阶段 1、对Tomcat进行部分优化,具体根据情况而定,我这里做了适当优化 2、将要运行的项目打war包 放入Tomcat下的webapps下,尽量保证你的项目开发中依赖的Tomcat和该Tomcat版本一直吧 3、往mysql目录下添加文件夹和文件,如: data : 存放数据库数据的,在后面的脚本中可能要用到,这里提前创建,避免脚本出 错 sql : 这里用于存放你从本地库中导出的数据库脚本.sql文件,具体也不一定会用到 ,主要看后面的脚本如何编写 my.ini: 这是windows下的配置文件,配置了mysql的信息,解压版中是没有该文件的 手动创建一个,内容可以为空,也可以不为空,放入些基本的配置,我这里是直接为空的 为了后面installanywhere动态插入配置方便 4、将jdk, tomcat, mysql全部放入一个文件夹下如: Install.bat : 该文件用于注册和启动Tomcat,mysql的服务 set Path=%SystemRoot%\system32 set JAVA_HOME=%1%\jdk set CATALINA_HOME=%1%\tomcat set mysql_home=%1%\mysql net stop mysql5 call %1%\mysql\bin\mysqld --remove mysql5 call %1%\mysql\bin\mysqld --install mysql5 sc config mysql5 start= auto net start mysql5 call %mysql_home%\bin\mysqladmin -h localhost -u root password 123 call %mysql_home%\bin\mysql -hlocalhost -uroot -p123 <%mysql_home%\sql\one.sql net stop mytomcat call %1%\tomcat\bin\service remove mytomcat call %1%\tomcat\bin\service install mytomcat sc config mytomcat start= auto net start mytomcat uninstall.bat : 该文件用于停止并注销删除服务 set Path=%SystemRoot%\system32 set JAVA_HOME=%1%\jdk set CATALINA_HOME=%1%\tomcat net stop mytomcat net stop mysql5 call %1%\tomcat\bin\service remove mytomcat call %1%\mysql\bin\mysqld --remove mysql5 start.bat : 用于手动启动服务 set Path=%SystemRoot%\system32 net start mytomcat stop.bat : 用于手动关闭服务 set Path=%SystemRoot%\system32 net stop mytomcat one : 这个是用于制作应用程序打开的快捷方式 是一个.url文件 -- one.url 1.ico : 图片文件,用于快捷方式和或安装文件的图标 三 installanywhere 制作 注:产品名称就是那个会在windows开始菜单栏显示的文件夹名字 添加四个环境变量:就是会添加到windows下的高级属性设置的那个环境变量那里 JAVA_HOME $USER_INSTALL_DIR$\jdk CATALINA_HOME $USER_INSTALL_DIR$\tomcat CATALINA_DIR $USER_INSTALL_DIR$\tomcat\bin PATH $USER_INSTALL_DIR$\jdk\bin;$USER_INSTALL_DIR$\mysql\bin;$USER_INSTALL_DIR$\tomcat\bin 接下来制作快捷方式和开始菜单栏中的选项 其中的程序快捷方式制作 [InternetShortcut] URL="http://localhost:8082/test" IconFile=$USER_INSTALL_DIR$$\1.ico HotKey=0 IconIndex=0 IDList= 开始菜单栏中的卸载菜单制作 动态修改配置文件 这里我们先将mysql的my.ini文件进行修改,因为这个文件中有两个属性的值是用户在选择安装目录的时候传进来的,所以要修改,但是,我的文件内容是空的,就直接插入配置文本 我的文本模板是: [client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 #安装路径 basedir="$USER_INSTALL_DIR$\\mysql" #数据路径 datadir="$USER_INSTALL_DIR$\\mysql\\data" # 允许最大连接数 max_connections=200 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [WinMySQLAdmin] $USER_INSTALL_DIR$\bin\mysqld.exe 后面再来执行安装注册时的批处理命令 -- 其中Command Line: cmd /c $USER_INSTALL_DIR$\install.bat $USER_INSTALL_DIR$ cmd /c表示执行指定的命令并中断。 $USER_INSTALL_DIR$是传递给install.bat中%1%的参数。 并且,选中Options中的3个选项。 将该Execute Command移动到Panel: Install Complete前面。 配置安装安程序后自动打开页面 反安装:配置卸载批处理 -- 菜单Pre-Uninstall>,按钮Add Action>Execute Command>Add>。 Command Line:  cmd /c $USER_INSTALL_DIR$\uninstall.bat $USER_INSTALL_DIR$ 将该Execute Command移动到第一个。 选中Options中的3个选项。 放在倒数第二的原因是:表示要等到选择完需要卸载的项后再执行,避免用户点击取消,把服务给注销了

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值