-
主体文件:nsi。 可以用 !include 包含一个或多个 nsh 头文件,如 !include "ui_nim_setup.nsh"
-
头文件:nsh。 头文件可以通过把它划分为一个或多个代码块来帮你编排你的脚本,你也可以在头文件里加入功能函数或宏,并且在多个安装程序里包含头文件,这样可以更容易的升级你的程序,并且使你的脚本很容易的让人看懂。
- !define PRODUCT_NAME "网易云信"
- !define PRODUCT_PATHNAME "NIM_PC" #安装卸载项用到的KEY
- !define INSTALL_APPEND_PATH "NIM" #安装路径追加的名称
- !define INSTALL_DEFALT_SETUPPATH "" #默认生成的安装路径
- !define EXE_NAME "牛牛截图.exe"
- !define PRODUCT_VERSION "2.5.0.0"
- !define PRODUCT_PUBLISHER "网易公司"
- !define PRODUCT_LEGAL "网易公司 Copyright(c)2015"
- !define INSTALL_OUTPUT_NAME "NIM_PC_Setup_v2.5.0.exe"
- !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
- !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
-
Welcome page !insertmacro MUI_PAGE_WELCOME
-
License page !insertmacro MUI_PAGE_LICENSE "E:\ZZL\ADWeb\安装包制作\Licence.txt"
-
Directory page !insertmacro MUI_PAGE_DIRECTORY
-
Instfiles page !insertmacro MUI_PAGE_INSTFILES
-
Finish page !insertmacro MUI_PAGE_FINISH
-
Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES
使用 Var 命令来声明变量,使用变量来保存值,所有定义的变量都是全局的,即使在区段或函数内定义。所以你可以声明变量、代码中对变量进行各种操作(赋值、比较、字符串操作等,使用变量需要加$)
- 字符串赋值:StrCpy $0 'a' // $0 = 'a'
- 拼接字符串: StrCpy $1 '$0b' // $1 = 'ab'
- 整数运算赋值:IntOp $9 0 + 1 // $9 = 0 + 1
利用 Push 与 Pop 可以使得函数对全局变量的操作只在自己的作用域里有效,函数执行完毕后,全局变量恢复至函数调用前的值
Var str
StrCpy $str 'a'
#MessageBox MB_OK '$str' // a
Push $str
StrCpy $str 'b'
#MessageBox MB_OK '$str' // b
Pop $str
#MessageBox MB_OK '$str' // a
- 开头:Function 函数名
- 结尾:FunctionEnd
Var str1
Function StackOper
Push "Hello"
Pop $str1 ; $str1 = Hello
Push "$str1 World"
Pop $str1 ; $str1 = Hello World
MessageBox MB_OK "$str1"
FunctionEnd