标签:The new cti company key 根据 回调 load message
这里使用的NSIS版本为3.04,HM NIS Edit版本为2.0.3。
制作安装程序的过程:
使用向导创建脚本
打开HM NIS Edit,点击菜单“文件”->“新建脚本:向导”,根据向导提示一步步输入信息,最后生成 NSIS 脚本文文件,扩展名为.nsi。
编译脚本
在HM NIS Edit点击上点击“编译脚本”或者在脚本上右键,在右键菜单中选择"Compile NSIS Script",编译脚本后生成安装程序。名称根据脚本设置,一般为Setup.exe。
以下是一个脚本demo,脚本的执行逻辑中我使用了一个对话框弹出可以很清楚的看到脚本的执行过程。实际使用时把MessageBox替换成实际的指令即可。
; Script generated by the HM NIS Edit Script Wizard.
; HM NIS Edit Wizard helper defines
;应用程序属性
!define PRODUCT_NAME "MyProduct" ;应用程序名称
!define PRODUCT_VERSION "1.0" ;应用程序版本
!define PRODUCT_PUBLISHER "My company, Inc." ;发布者
!define PRODUCT_WEB_SITE "http://www.mycompany.com"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\MyProduct.exe"
; MUI 1.67 compatible ------
!include "MUI.nsh" ;引入现代风格的图形界面
; MUI Settings ; 定义安装程序图标
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
; 内置页面,每个内置页面都可以设置三个加载过程中的执行函数(以许可证页面为例)
; Welcome page 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; License page 许可证页面
!define MUI_PAGE_CUSTOMFUNCTION_PRE LicensePre ; 页面加载前执行的函数
!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicenseShow ; 页面加载后执行的函数
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE LicenseLeave ; 页面关闭时执行的函数
!insertmacro MUI_PAGE_LICENSE ".\License.txt"
; Directory page 安装路径选择页面
!insertmacro MUI_PAGE_DIRECTORY
; MUI_PAGE_COMPONENTS 组件选择页面
!insertmacro MUI_PAGE_COMPONENTS
; Instfiles page 文件安装页面
!insertmacro MUI_PAGE_INSTFILES
; 结束
!insertmacro MUI_PAGE_FINISH
;--------------------------------
;Languages 安装程序的语言
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "MyProductSetup.exe" ;安装程序名称
InstallDir "$PROGRAMFILES\MyProduct" ;安装路径
ShowInstDetails show
;组件1执行的安装逻辑
Section "Section1" SEC01
AddSize 500 ; 此组件需要的空间
MessageBox MB_YESNO|MB_DEFBUTTON2 "Sec01" IDYES
;SetOutPath "$INSTDIR"
;SetOverwrite ifnewer
;File "publish\MyProduct.exe" ; 拷贝应用程序到安装目录
SectionEnd
;组件2执行的安装逻辑
Section "Section2" SEC02
MessageBox MB_YESNO|MB_DEFBUTTON2 "Sec02" IDYES
SectionEnd
Function LicensePre
MessageBox MB_YESNO|MB_DEFBUTTON2 "Pre" IDYES
FunctionEnd
Function LicenseShow
MessageBox MB_YESNO|MB_DEFBUTTON2 "Show" IDYES
FunctionEnd
Function LicenseLeave
MessageBox MB_YESNO|MB_DEFBUTTON2 "Leave" IDYES
FunctionEnd
; 安装程序执行过程中的回调函数,更多请查看手册
Function .onInit
MessageBox MB_YESNO|MB_DEFBUTTON2 "Init" IDYES
FunctionEnd
Function .onInstSuccess
MessageBox MB_YESNO|MB_DEFBUTTON2 "Success" IDYES
FunctionEnd
; 卸载逻辑的回调函数
Function un.onInit
;MessageBox MB_YESNO|MB_DEFBUTTON2 "un.Init" IDYES
FunctionEnd
标签:The new cti company key 根据 回调 load message
原文地址:https://www.cnblogs.com/higleam/p/nsis20191210.html