1
、要求
我们的
web
程序使用
tomcat6
作为应用服务器,数据库为
mysql
。
java
的版本是
jdk1.6
,同时,在系统安装的时候,需要导入一些数据,这些都是我们帮助客户录入的,因为客户觉得录入太麻烦了。
目标是客户只需要运行一下
EXE
文件,就完成
WEB
系统的安装。
JDK
,
TOMCAT
,
MYSQL
和环境变量都要一次设置好。(只适用于
WINDOW
系统)
2
、思路
既然客户要求自动安装,那么无非就是自动安装
tomcat, mysql, jdk,
我们的
web
应用,以及导入客户的数据。但是我们的客户对电脑完全不懂,所以,如果安装过程中,出现
tomcat
那种的
“
下一步
”
操作,是绝对不行的。最好是一气呵成,点完安装,一切
ok
,打开浏览器,就能访问。
图形的当然最好,不过俺还是想省点事,交流之后客户能够接受批处理文件。那么就用批处理编写安装程序。
3
、建立项目文件夹
在
C
盘建立名为
MyApp
的文件夹,把免安装的
Java
、
tomcat6
、
mysql
放进去。
4
、自动安装
jdk
因为
jdk
是
tomcat
的必要环境,所以先考虑这个。其实这个最简单了,拷贝一份安装过的
jdk
就可以了,一般
c:\programe files\java
目录里有两个目录:
jdk1.6.0_12
和
jre1.6.0_12
5
、自动安装
tomcat
这个部分非常简单,网上也有详细的资料。无非就是下载一个
tomcat
的免安装版本。然后修改
service.bat
文件,在第一行加上
set JAVA_HOME=C:\ MyApp\java\jdk1.6.0_10
6
、自动安装
mysql
这部分的资料网上很多,无非是下载免安装版本的
mysql
。但是通常你花费点时间才发现,免安装版本的
mysql
里不带
my.ini
文件,没有这个文件是不能启动
mysql
的。从你的安装过的版本里拷贝一个出来吧,修改一下其中的配置。
basedir="C:/MyApp/MySQL/MySQL Server 5.1/"
datadir="C:/ MyApp /MySQL/MySQL Server 5.1/Data/"
(
把其它地方安装后的
mysql
复制进来也算是免安装版的
MYSQL)
7
、安装我们的
web
应用以及导入数据
安装
web
应用太简单了,拷贝到
tomcat
目录下就行了。
导入数据也很简单。我们首先准备一个
init.sql
。
这个文件里写上创建数据库的语句。然后放在
C:\MyApp\MySQL\db
目录下
,
其它目录也行,但文件夹名称不能有空格,否则会找不到文件。
8
、注册
MYSQL
和
TOMCAT
的系统服务
写一个批处理文件
regeditService.bat
再建一个 uninstall.bat 文件
9 、在 MyApp 目录下建一个 config 文件夹,把 regeditService.bat 放进去
10 、使用制作工具打包成 EXE
别急着点生成脚本,先设置一个高级选项,点进去
首选运行是选不了
regeditService.bat
文件的,要自己手动输入。点击返回主菜单。然后点击生成脚本即可。
这个工具在 CSDN 的下载资源里面输入 exe 打包制作工具 ( 绿色版 ) 就能找到 .
以打包我自己的 rpss 项目为例:
先将 Java 、 Tomcat 、 MySQL 和项目文件都复制到一个目录里面。该目录下有以下东西:
[apps] - 存放项目文件
[jdk1.6.0_13] - Java 的 jdk 文件
[MySQL-5.1] - MySql 非安装版
[Tomcat-6.0.18] - Tomcat
1 ) 修改 Tomcat 目录 \conf\server.xml 中的标签 <Host appBase="webaps" ...> ,将 appBase 指向项目所在相对路径。注意路径分割符使用 “/” 。
2 ) 编写两个批处理文件,分别为 “install.bat” 和 “uninstall.bat” ,放在目录根路径下。
install.bat 内容:
set JAVA_HOME=%1%\jdk1.6.0_13
set CATALINA_HOME=%1%\Tomcat-6.0.18
call %1%\Tomcat-6.0.18\bin\service install Tomcat
call %1%\MySQL-5.1\bin\mysqld --install MySQL
net start MyTomcat
net start MySQL
uninstall.bat 内容:
set JAVA_HOME=%1%\jdk1.6.0_13
set CATALINA_HOME=%1%\Tomcat-6.0.18
net stop Tomcat
net stop MySQL
call %1%\Tomcat-6.0.18\bin\service remove Tomcat
call %1%\MySQL-5.1\bin\mysqld --remove MySQL
3
) 建立
Project
打开
InstallAnywhere 2009 Enterprise
,建立
Baisc Project Template
,然后选择
Advanced Designer
,设置
Title, Name
等。
4
) 本地化语言
菜单
Project>Locales>
,选择需要的本地化语言。
5
) 设置环境变量
菜单
Install>
,按钮
Add Action...>Set System Environment Variable>Add>
,设置
JAVA_HOME
和
CATALINA_HOME
两个系统环境变量。
其中
$USER_INSTALL_DIR$
表示用户选择的安装路径。
6
) 注册服务
菜单
Post-Install>
,按钮
Add Action...>Execute Command>Add>
,在安装完成后执行
install.bat
,注册
Tomcat
和
MySQL
服务。
其中
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
前面。
7
) 让安装完成后启动浏览器,自动打开项目
菜单
Post-Install>
,按钮
Add Action...>Launch Default Browser>Add>
在
Other URL:
填入项目地址
http://localhost:7777/rpss
讲该
Launch Default Browser
移动到
Panel: Install Complete
后面。
8
) 反安装
菜单
Pre-Uninstall>
,按钮
Add Action>Execute Command>Add>
。
Command Line:
cmd /c $USER_INSTALL_DIR$\uninstall.bat $USER_INSTALL_DIR$
将该
Execute Command
移动到第一个。
选中
Options
中的
3
个选项。
9
) 打包
菜单
Build>
,按钮
Build Project>
,等待
InstallAnywhere
打包完成。
完成以后,按钮
Open in Explorer>
,文件夹
Web_Installers>InstData>Windows>VM>
,
setup.exe
就是完成的安装文件包。
打包J2EE工程为安装文件(InstallAnywhere7.1)
现在有这样一个J2EE项目,使用tomcat + mysql 开发,开发完成后,客户要求打包成安装程序,要求客户机器在没有任何开发环境下也能运行该项目
打包步骤如下:
有这几个问题需要解决:注册MySQL服务,打开MySQL和tomcat服务,解决方法如下:
1. 准备工具:
tomcat5.0.28解压缩版(
http://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28-embed.zip
)
mysql5.0.22免安装版(
http://downloads.mysql.com/archives/mysql-5.0/mysql-noinstall-5.0.22-win32.zip
)
installAnywhere7.1(
ftp://download.nbjsz.com/programdev/installanywhere.rar
)注册码去google下
jdk(使用安装好的就行)
2. 将J2EE工程打包为.war,放到tomcat的webapps中
3. 建立一个文件夹,取名为"服务",在该文件夹下建立2个批处理文件,分别取名为:"启动服务.bat" 和"停止服务.bat"
4. 打开installAnywhere,开始本次打包的关键步骤
0 选择"Create New Project","Basic Project Template",点击"Save as"选择最后的保存路径,以及项目名称。next,next
A 添加文件,将tomcat-5.0.28,mysql-5.0.22,jdk1.5.0_15,服务 这四个文件夹添加进去,next,Advanced Designer
B 在install中,addAction 选择"Create Alias,Link,Shortcut",在Path选项中选择"Shortcut's Destionation Folder" 表示安装到"开始"菜单中去,点击Choose Target 选择"服务"下"启动服务.bat"
C 同B,对"服务"下"停止服务.bat"做相同操作。
D 在install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择"服务"文件夹下"启动服务.bat"文件,选择Prepend,写入
net start mysql
net start tomcat
E 在install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择"服务"文件夹下"停止服务.bat"文件,选择Prepend,写入
net stop tomcat
net stop mysql
F 在Post-install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择tomcat-5.0.28/bin下service.bat,选择Prepend,写入
set JAVA_HOME=$USER_INSTALL_DIR$\jdk1.5.0_15
set CATALINA_HOME=$USER_INSTALL_DIR$\tomcat-5.0.28
G 在Post-install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择mysql下my.ini(如果没有可以google一个),选择Prepend,写入
[mysqld]
#设置basedir指向mysql的安装路径
basedir=$USER_INSTALL_DIR$\mysql-5.0.22
datadir=$USER_INSTALL_DIR$\mysql-5.0.22\data
default-character-set = UTF8
[WinMySQLAdmin]
Server=$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt.exe
user=root
password=root
注意:首先要删除my.ini文件中的相应属性的设置
H 在Post-install中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注册MySQL服务",在Script中写入
Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -remove
Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -install
I 在Post-install中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注册TOMCAT服务",在Script中写入
Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" remove tomcat
Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" install tomcat
J 在Post-Uninstall中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注销MySQL服务",在Script中写入
Call net stop mysql
Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -remove
K 在Post-Uninstall中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注销TOMCAT服务",在Script中写入
Call net stop tomcat
Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" remove tomcat
注意:创建"Modify Text File - Single File"的时候把下面的"Create backup"取消。
安装的时候,整个安装路径上不能有空格的出现。不然就找不到JAVA_HOME,和CATALINA_HOME。
5. 开始打包,完成!
转自: http://hi.baidu.com/annleecn/blog/item/50b3a4501c0240828d543051.html