当前位置: 代码迷 >> Web前端 >> InstallAnywhere web封装成exe文件(tomcat6 , mysql。jdk1.6)
  详细解决方案

InstallAnywhere web封装成exe文件(tomcat6 , mysql。jdk1.6)

热度:489   发布时间:2012-09-10 11:02:32.0
InstallAnywhere web打包成exe文件(tomcat6 , mysql。jdk1.6)

1、要求
我们的web程序使用 tomcat6 作为应用服务器,数据库为 mysqljava的版本是jdk1.6,同时,在系统安装的时候,需要导入一些数据,这些都是我们帮助客户录入的,因为客户觉得录入太麻烦了。
目标是客户只需要运行一下EXE文件,就完成WEB系统的安装。JDKTOMCATMYSQL和环境变量都要一次设置好。(只适用于WINDOW系统)

?

2、思路
既然客户要求自动安装,那么无非就是自动安装 tomcat, mysql, jdk, 我们的web应用,以及导入客户的数据。但是我们的客户对电脑完全不懂,所以,如果安装过程中,出现 tomcat 那种的下一步操作,是绝对不行的。最好是一气呵成,点完安装,一切ok,打开浏览器,就能访问。
图形的当然最好,不过俺还是想省点事,交流之后客户能够接受批处理文件。那么就用批处理编写安装程序。

?

3、建立项目文件夹
C盘建立名为MyApp的文件夹,把免安装的Javatomcat6mysql放进去。

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、注册MYSQLTOMCAT的系统服务
写一个批处理文件regeditService.bat

再建一个uninstall.bat文件

9、在MyApp目录下建一个config文件夹,把regeditService.bat放进去

10、使用制作工具打包成EXE

?

别急着点生成脚本,先设置一个高级选项,点进去


首选运行是选不了regeditService.bat文件的,要自己手动输入。点击返回主菜单。然后点击生成脚本即可。

?

这个工具在CSDN的下载资源里面输入exe打包制作工具(绿色版)就能找到.

?

?

?

以打包我自己的rpss项目为例:

先将JavaTomcatMySQL和项目文件都复制到一个目录里面。该目录下有以下东西:

[apps] - 存放项目文件

[jdk1.6.0_13] - Javajdk文件

[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_HOMECATALINA_HOME两个系统环境变量。
其中$USER_INSTALL_DIR$表示用户选择的安装路径。

6) 注册服务
菜单Post-Install>,按钮Add Action...>Execute Command>Add>,在安装完成后执行install.bat,注册TomcatMySQL服务。
其中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

  相关解决方案