本打包方式采用全绿色版本软件打包,用户安装可以直接点击下一步下一步即可;可同时支持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 卸载程序————————————————-
安装包兼容问题
- 安装包在不同的环境下可能无法正常注册服务和启动服务,原因是不同的操作系统版本,cmd命令是不一样的,所以需要使用不同的bat批处理语句去执行。我的解决方式是,同时打包多个版本的bat程序。
- 2.本安装包不支持win10和Linux操作系统,只支持win Xp和win7。