|
之前一直都没涉及到打包安装方面的东西,都是另一个同事负责的,使用的工具(installshield)也比较高大上一点,可是后来他离职以后接受的同事也只能是在这个基础上做个简单的配置,然后打包,可是现在做的项目和原来的完全不一样以后就不能使用之前的了,只能是自己硬着头皮来弄个比较简单快捷的了。
切入正题,如标题所述使用inno setup来打包一个java web 相关的内容为一个exe,.net web类似,这个工具可以在网上直接找到下载,有汉化版的,并且里面也有帮助手册可以参考。把里面的一些敏感信息已经做了替代,这些都是可以根据你自己情况来修改的。下面直接上干货。
- 打包和发布的内容
jdk(1.6/1.7/1.8)、mysql(5.5~)、tomcat(6.0/7.0/8.0)、ftp服务器、webapp、.Net服务、C++服务(请诸位无视项目中技术的复杂行,都是历史原因)
打包脚本和bat脚本中涉及到,文件拷贝、ini配置文件修改、xml配置文件修改、服务安装停止启动、.net服务安装、环境变量配置、数据库初始化等,唯独缺少注册表和防火墙配置(%>_nul
"%cd%\MySql5.5\bin\mysql.exe" --defaults-file="%cd%\MySql5.5\my.ini" -u root -e "UPDATE mysql.user SET Password=old_password('123456') WHERE User='root' or User='';"
"%cd%\MySql5.5\bin\mysql.exe" --defaults-file="%cd%\MySql5.5\my.ini" -u root -e "FLUSH PRIVILEGES;"
echo 初始化mysql数据库
"%cd%\MySql5.5\bin\mysql.exe" -uroot -p123456 < "%cd%\tomcat6.0\webapps\ROOT\abc.sql"
net stop abcMysql
net start abcMysql
echo 安装ftp
"%cd%\FtpServer\FileZilla server.exe" /install auto
"%cd%\FtpServer\FileZilla server.exe" /start
echo 安装服务器
sc create abcMessageService binpath= "%cd%\Server\Server.exe" displayname= "abcMessageService" start= auto
Net Start abcMessageService
echo 启动tomcat
set JAVA_HOME=%cd%\jdk1.6
set CATALINA_HOME=%cd%\tomcat6.0
set CATALINA_BASE=%cd%\tomcat6.0
cd .\tomcat6.0\bin
call service.bat install
sc config abcTomcat6 start=auto
net start abcTomcat6
cd ..\..\
echo 安装服务
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe "%cd%\Sdk\abc.exe"
Net Start abcService
sc config abcService start=auto
exit
- 打包脚本调用的bat卸载脚本
@echo off
title abc系统正在卸载中,请不要手动关闭
color 0a
echo 删除环境变量
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /f
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CATALINA_HOME /f
echo 停止并删除tomcat
net stop abcTomcat6
cd .\tomcat6.0\bin
call service.bat remove
cd ..\..\
echo 停止并删除mysql
net stop abcMysql
sc delete abcMysql
echo 停止并卸载FTP
"%cd%\FtpServer\FileZilla server.exe" /stop
"%cd%\FtpServer\FileZilla server.exe" /uninstall
echo 卸载注册服务器
Net Stop abcMessageService
sc delete abcMessageService
echo 卸载运维服务
Net Stop abcService
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe -u "%cd%\Sdk\abc.exe"
sc delete abcService
exit
- 打包脚本调用的bat等待脚本
@echo off
echo pause;
- 其他相关
1.建议把要打包的内容都放在同一个目录下面
2.自己新建一个ie网站快捷方式,用记事本打开以后修改成自己app的连接地址
3.这个ftp是使用的FileZilla,配置文件中的密码是标准md5加密
4.代码里面的东西可以根据个人项目的实际情况做适当的调整。
- 居然第一篇文章是写的打包相关,我也是醉了,只是希望能够帮助到一些需要的人,高手请飘过~
|
|
|
|
|
|
|