当前位置: 代码迷 >> Web前端 >> InstallAnywhere web封装成exe文件
  详细解决方案

InstallAnywhere web封装成exe文件

热度:569   发布时间:2012-11-04 10:42:42.0
InstallAnywhere web打包成exe文件

http://hi.baidu.com/annleecn/blog/item/50b3a4501c0240828d543051.html

?

InstallAnywhere web打包成exe文件(tomcat6 , mysql。jdk1.6)
2010-08-16 11:31

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 项目为例:

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

[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_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. 开始打包,完成!

?

因工作近几天用exe4j打包成exe后,就不知道打包mysql了,也不知道上面的可不可以。