NSIS脚本实例(引)

; 安装程序初始定义常量 
!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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值