; 安装程序初始定义常量 !define PRODUCT_NAME "银驼铃MSAP2000网元管理软件" !define PRODUCT_VERSION "1.0" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM"
;安装程序的压缩方式 SetCompressor lzma
;安装类型 InstType "完全安装" InstType "推荐安装" InstType "精简安装"
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ !include "MUI.nsh" !include "Sections.nsh"
; MUI 预定义常量
;只有单击"取消"才能取消安装 !define MUI_ABORTWARNING
;安装程序的安装图标和卸载图标 !define MUI_ICON "D:\GTT\MSAP2000\GTT.ico" !define MUI_UNICON "D:\GTT\MSAP2000\GTT.ico"
;欢迎页面左边的图片 !define MUI_WELCOMEFINISHPAGE_BITMAP "D:\GTT\MSAP2000\orange.bmp"
;下面三行定义上面图片在右边显示以有图片的路径 !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_RIGHT !define MUI_HEADERIMAGE_BITMAP "D:\GTT\MSAP2000\logo.bmp"
;区段描述在下方显示。 !define MUI_COMPONENTSPAGE_SMALLDESC
; 欢迎页面
;自已定义软件的标题 !define MUI_WELCOMEPAGE_TITLE "银驼铃MSAP2000网元管理器V1.0"
;欢迎页面 !insertmacro MUI_PAGE_WELCOME
;组件选择页面 !insertmacro MUI_PAGE_COMPONENTS ; 安装目录选择页面 !insertmacro MUI_PAGE_DIRECTORY ; 安装过程页面 !insertmacro MUI_PAGE_INSTFILES ; 安装完成页面
;在安装完成页面上显示要运行的程序。 !define MUI_FINISHPAGE_RUN "$INSTDIR\netunit.exe" !insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面 !insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置 !insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ; ------ MUI 现代界面定义结束 ------
;安装程序的名字和版本号 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" ;编译后的安装程序的保存位置。 OutFile "d:\银驼铃MSAP2000网元管理软件V1.0.exe" ;安装路径 InstallDir "$PROGRAMFILES\银驼铃MSAP2000" ;在安装过程中安装信息是否可见。(默认为可见,参数为hide只显示一个显示按钮,单击按钮还可以看到。) ShowInstDetails show ShowUnInstDetails show
;安装程序下面线上的文字 BrandingText "北京银驼铃通信技术发展有限公司"
;各个区段。 Section "主程序" SEC01 SetOutPath "$INSTDIR" SectionIn 1 2 3 RO SetOverwrite ifnewer File /r "D:\netunit\*.*" SectionEnd SectionGroup "JRE" soft Section "jre1.6" netunit SectionIn 1 2 3 SetOutPath "$INSTDIR\GTTtool" SetOverwrite ifnewer SectionEnd Section "JAVA环境" SEC02 SetOutPath "$INSTDIR\jre" SectionIn 1 File /r "D:\netunit\jre\*.*" ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$INSTDIR\jre\bin;$0" WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "JRE_HOME" "$INSTDIR" ;在开始菜单程序组下建立一名为"银驼铃MSAP2000"的目录。 CreateDirectory "$SMPROGRAMS\银驼铃MSAP2000" ;在该目录下建立快捷方式。 CreateShortCut "$SMPROGRAMS\银驼铃MSAP2000\jre.lnk" "$INSTDIR\GTTtool\jre.exe" File /r "D:\netunit\jre.exe" SectionEnd SectionGroupEnd Section "创建桌面快捷方式" desk SectionIn 1 2 3 SetOverwrite ifnewer ;在桌面上建立快捷方式。 CreateShortCut "$DESKTOP\netunit.lnk" "$INSTDIR\netunit.exe" SectionEnd Section "创建快速启动快捷方式" quicklaunch SectionIn 1 2 SetOverwrite ifnewer ;在快速启动栏中创建快速启动快捷方式。 CreateShortCut "$QUICKLAUNCH\netunit.lnk" "$INSTDIR\netunit.exe" SectionEnd Section "创建开始菜单快捷方式" programlink SectionIn 1 2 SetOverwrite ifnewer CreateDirectory "$SMPROGRAMS\银驼铃MSAP2000" CreateShortCut "$SMPROGRAMS\银驼铃MSAP2000\netunit.lnk" "$INSTDIR\netunit.exe" SectionEnd Section "创建卸载程序" uninst SectionIn 1 SetOverwrite ifnewer ;以下几行是创建卸载程序。 WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" CreateDirectory "$SMPROGRAMS\银驼铃MSAP2000" ;在程序组中建立卸载快捷方式。 CreateShortCut "$SMPROGRAMS\银驼铃MSAP2000\卸载银驼铃MSAP2000网元管理软件V1.0.lnk" "$INSTDIR\uninst.exe" SectionEnd /****************************** * 以下是安装程序的卸载部分 * ******************************/
;区段描述。 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "银驼铃MSAP2000网元管理软件主程序,不可缺少的哦!" !insertmacro MUI_DESCRIPTION_TEXT ${desk} "创建桌面快捷方式!" !insertmacro MUI_DESCRIPTION_TEXT ${programlink} "创建开始菜单快捷方式!" !insertmacro MUI_DESCRIPTION_TEXT ${uninst} "创建卸载程序和[控制面板]的[添加或删除程序]中创建卸载程序图标!" !insertmacro MUI_FUNCTION_DESCRIPTION_END
;以下是卸载区段。 Section Uninstall Delete "$INSTDIR\uninst.exe" Delete "$SMPROGRAMS\银驼铃MSAP2000\卸载卸载银驼铃MSAP2000网元管理软件V1.0.lnk" Delete "$DESKTOP\netunit.lnk" Delete "$SMPROGRAMS\银驼铃MSAP2000\Netunit.lnk" Delete "$QUICKLAUNCH\netunit.lnk" RMDir /r "$SMPROGRAMS\银驼铃MSAP2000"
RMDir /r "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" SetAutoClose true SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--# Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "确定卸载银驼铃MSAP2000网域管理器软件V1.0吗?" IDYES +2 Abort FunctionEnd
Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从你的计算机移除。" FunctionEnd |
|