NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) 的缩写,它是一个Open Source的Windows系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。NSIS通过它的脚本语言来描述安装程序的行为和逻辑的,因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言——但它是为安装程序这类应用所设计的。
NSIS脚本通常以 nsi为扩展名,支持include功能,头文件扩展名为nsh。
代码如下:
!include "nsDialogs.nsh"
!include "winmessages.nsh"
!include "logiclib.nsh"
OutFile "test.exe"
Page Custom pre
var dialog
var hwnd
var button
Function pre
nsDialogs::Create 1018
Pop $dialog
${NSD_CreateCheckbox} 0 0 50% 6% "Show button below"
Pop $hwnd
${NSD_OnClick} $hwnd EnDisableButton
${NSD_CreateButton} 25% 25% 50% 50% "Hello World"
Pop $button
ShowWindow $button ${SW_HIDE} # start out hidden
nsDialogs::Show
FunctionEnd
Function EnDisableButton
Pop $hwnd
${NSD_GetState} $hwnd $0
${If} $0 == 1
ShowWindow $button ${SW_SHOW}
${Else}
ShowWindow $button ${SW_HIDE}
${EndIf}
FunctionEnd
Section ""
SectionEnd