JavaWeb项目打包Tomcat,MySQL,Java成.exe可执行安装包-文件夹变成exe

本打包方式采用全绿色版本软件打包,用户安装可以直接点击下一步下一步即可;可同时支持win XP和Win7,同时支持32位和64位操作系统;支持Windows service操作系统;

整个打包过程需要依赖一下东西,并且我这些都能提供:

  • NSIS打包工具
  • .bat批处理
  • Bat_To_Exe程序
  • *绿色版Tomcat7
  • 绿色版MySQL5.6
  • 绿色版Java1.7

资源下载

邮箱279406074@qq.com ,文件问我获取即可

打包流程

1.根据自己的实际情况修改web程序打包脚本以及bat批处理文件并打包成exe文件

2.通过NSIS打包工具编译脚本,生成安装包exe文件

3.安装测试

web程序打包脚本展示

;脚本说明:

;本脚本可用于web应用的打包安装,因为程序执行效率问题,注册服务操作必须在安装完成之后进行;

;程序目录内的config文件夹用于存放系统的衍生文件与配置说明文件以及技术人员使用的辅助程序。

;nsi文件夹用于存放一些脚本模板供大家参考使用。

;使用本脚本时,请千万注意文件名称,版本号,路径等。

; HM NIS Edit Wizard helper defines 定义变量———————————————-

!define PRODUCT_NAME “保密自查自评管理系统(终端平台)”

!define PRODUCT_VERSION “1.0”

!define PRODUCT_PUBLISHER “杭州金跃科技有限公司”

!define PRODUCT_WEB_SITE “http://www.hnchiyang.cn”

!define PRODUCT_UNINST_KEY “Software\Microsoft\Windows\CurrentVersion\Uninstall${PRODUCT_NAME}”

!define PRODUCT_UNINST_ROOT_KEY “HKLM”

; MUI 1.67 compatible 配置信息 ———————————

!include “MUI.nsh”

;!include AddPath.nsh

;!include WriteEnvStr.nsh

; MUI Settings 图标

!define MUI_ABORTWARNING

!define MUI_ICON “F:\packageInstall\ico\mi.ico”

!define MUI_UNICON “F:\packageInstall\ico\win-uninstall.ico”

; Language Selection Dialog Settings

!define MUI_LANGDLL_REGISTRY_ROOT “PRODUCT

U

NINST

R

OOT

K

EY”!defineMUI

L

ANGDLL

R

EGISTRY

K

EY“

PRODUCTUNINSTROOTKEY”!defineMUILANGDLLREGISTRYKEY“{PRODUCT_UNINST_KEY}”

!define MUI_LANGDLL_REGISTRY_VALUENAME “NSIS:Language”

; Welcome page 欢迎界面

!insertmacro MUI_PAGE_WELCOME

; License page 许可协议

!define MUI_LICENSEPAGE_RADIOBUTTONS

!insertmacro MUI_PAGE_LICENSE “F:\packageInstall\explain\XXX有限公司安装使用协议.txt”

; Instfiles page

!insertmacro MUI_PAGE_INSTFILES

; Finish page 安装完成后页面

;!define MUI_FINISHPAGE_RUN “$INSTDIR\config\激活程序.exe”

;!insertmacro MUI_PAGE_FINISH

; Uninstaller pages 卸载页面

!insertmacro MUI_UNPAGE_INSTFILES

; Language files 语言界面

!insertmacro MUI_LANGUAGE “SimpChinese”

!insertmacro MUI_LANGUAGE “English”

; MUI end 配置信息—————————————

;start 安装程序文件—————————————-

Name “PRODUCT

N

AME

PRODUCTNAME{PRODUCT_VERSION}”

OutFile “我的web安装程序.exe”

InstallDir “D:\tomcat7”

ShowInstDetails show

ShowUnInstDetails show

Function .onInit

!insertmacro MUI_LANGDLL_DISPLAY

FunctionEnd

;压缩转移文件———————————————————-

Section “解压文件” SEC01

SetOutPath “$INSTDIR\tomcat7”

SetOverwrite ifnewer

File /r “F:\packageInstall\\unit32\tomcat7*.*”

SetOutPath “$INSTDIR\jdk7”

SetOverwrite ifnewer

File /r “F:\packageInstall\\unit32\jdk7*.*”

SetOutPath “D:\cyMysql5”

SetOverwrite ifnewer

File /r “D:\cyMysql5*.*”

SectionEnd

Section “激活程序” SEC02

SetOutPath “$INSTDIR\”

File “F:\packageInstall\exe\1激活环境变量.exe”

SetOutPath “$INSTDIR\”

File “F:\packageInstall\exe\2注册服务.exe”

SetOutPath “$INSTDIR\”

File “F:\packageInstall\exe\3启动服务.exe”

SetOutPath “$INSTDIR\”

File “F:\packageInstall\exe\停止服务.exe”

SetOutPath “$INSTDIR\”

File “F:\packageInstall\exe\安装使用说明.txt”

SetOutPath “$INSTDIR\config\”

File “F:\packageInstall\exe\隐藏程序所有安装文件.exe”

SetOutPath "$INSTDIR\config\"

  • 1
  • 2

File “F:\packageInstall\exe\显示所有程序文件.exe”

SetOutPath “$INSTDIR\config\”

File “F:\packageInstall\exe\清除所有服务.exe”

SectionEnd

;压缩转移文件———————————————————-

;Application StartMenu Directory 桌面快捷方式设置

Section -AdditionalIcons

CreateShortCut “$DESKTOP\${PRODUCT_NAME}.lnk” “http://127.0.0.1:8080/hztomcat7”

SectionEnd

Section -Post

WriteUninstaller “INSTDIR\\uninst.exe”WriteRegStr

INSTDIR\\uninst.exe”WriteRegStr{PRODUCT_UNINST_ROOT_KEY} "PRODUCT

U

NINST

K

EY”“DisplayName”“

PRODUCTUNINSTKEY”“DisplayName”“{PRODUCT_NAME}”

WriteRegStr PRODUCT

U

NINST

R

OOT

K

EY"

PRODUCTUNINSTROOTKEY"{PRODUCT_UNINST_KEY}” “UninstallString” “INSTDIR\\uninst.exe”;WriteRegStr

INSTDIR\\uninst.exe”;WriteRegStr{PRODUCT_UNINST_ROOT_KEY} "PRODUCT

U

NINST

K

EY”“DisplayIcon”“

PRODUCTUNINSTKEY”“DisplayIcon”“INSTDIR\config\激活程序.exe”

WriteRegStr PRODUCT

U

NINST

R

OOT

K

EY"

PRODUCTUNINSTROOTKEY"{PRODUCT_UNINST_KEY}” “DisplayVersion” “PRODUCT

V

ERSION”WriteRegStr

PRODUCTVERSION”WriteRegStr{PRODUCT_UNINST_ROOT_KEY} "PRODUCT

U

NINST

K

EY”“URLInfoAbout”“

PRODUCTUNINSTKEY”“URLInfoAbout”“{PRODUCT_WEB_SITE}”

WriteRegStr PRODUCT

U

NINST

R

OOT

K

EY"

PRODUCTUNINSTROOTKEY"{PRODUCT_UNINST_KEY}” “Publisher” “${PRODUCT_PUBLISHER}”

SectionEnd

;设置环境变量————————————————–

!define JAVA_HOME “INSTDIR\jdk7”!defineJRE

H

OME“

INSTDIR\jdk7”!defineJREHOME“INSTDIR\jdk7\jre”

!define CATALINA_HOME “$INSTDIR\tomcat7”

!define MYSQL_HOME “D:\cyMysql5”

;end 安装程序文件—————————————-

;start 停止服务,删除注册表及服务———————————————

Function un.stopService

ExecWait “net stop tomcat7”

ExecWait “net stop cyMySql”

FunctionEnd

Function un.removeMysqlService

ExecWait “sc delete cyMySql”

FunctionEnd

Function un.removeTomcatService

ExecWait “sc delete tomcat7”

FunctionEnd

;end 停止服务,删除注册表及服务————————————————————

;start 删除环境变量———————————————

;end 删除环境变量———————————————

;start 卸载界面——————————————————–

Function un.onUninstSuccess

HideWindow

MessageBox MB_ICONINFORMATION|MB_OK “[${PRODUCT_NAME}]已成功地从你的计算机移除。”

FunctionEnd

Function un.onInit

!insertmacro MUI_UNGETLANGUAGE

MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 “你确实要完全移除[${PRODUCT_NAME}] ,其及所有的组件?” IDYES +2

Abort

FunctionEnd

;end 卸载界面——————————————————–

;start 卸载程序————————————————-

Section Uninstall

Call un.stopService

Call un.removeTomcatService

Call un.removeMysqlService

Delete “INSTDIR$PRODUCT

N

AME.url”Delete“

INSTDIR$PRODUCTNAME.url”Delete“DESKTOP${PRODUCT_NAME}.lnk”

RMDir /r “INSTDIR\jdk7”RMDir/r“D:\cyMysql5”RMDir/r“

INSTDIR\jdk7”RMDir/r“D:\cyMysql5”RMDir/r“INSTDIR\tomcat7”

RMDir /r “INSTDIR\config”Delete“

INSTDIR\config”Delete“INSTDIR\\uninst.exe”

RMDir /r “INSTDIR”DeleteRegKey

INSTDIR”DeleteRegKey{PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}”

SetAutoClose true

SectionEnd

;end 卸载程序————————————————-

安装包兼容问题

  1. 安装包在不同的环境下可能无法正常注册服务和启动服务,原因是不同的操作系统版本,cmd命令是不一样的,所以需要使用不同的bat批处理语句去执行。我的解决方式是,同时打包多个版本的bat程序。
  2. 2.本安装包不支持win10和Linux操作系统,只支持win Xp和win7。

JavaWeb项目打包Tomcat,MySQL,Java成.exe可执行安装包

推荐阅读