当前位置: 首页 > 工具软件 > NSIS > 使用案例 >

NSIS 笔记

佟阳焱
2023-12-01

参考网站: www.nsis.sourceforge.net


 HA_NSIS_v245_20090727.exe
该软件包括一个强大的脚本编器,有语法智能提示功能,且有一个脚本生成向导,
利用此向导可以生成基本的脚本代码,之后再在编缉器中进行修改。

NSIS有几个重要的方法
初始化方法:
Function .oninit
functionend

安装必备项方法:
Section -Prerequisites
SectionEnd

使用 ReadRegStr 方法可以读取注册表项存入指定的变量
例:
ReadRegStr $R0 HKLM "SOFTWARE/Microsoft/NET Framework Setup/NDP/v3.5" "Version"
${If} $R0 == ''
  ExecWait '"$EXEDIR/NetFramework/Microsoft_.NETFramework35_sp1.exe" "/qb"' $R0 
    ${If} $R0 == ''
   MessageBox MB_OK "NetFramework 安装错误,安装程序已中止。"
   Quit
  ${EndIf}
${EndIf}

HLKM 代表 HKEY_LOCAL_MACHINE
$EXEDIR 代表当前 setup.exe 所在的目录。另外还有 $INSTDIR 代表安装的目录 $DISKTOPDIR 代表桌面目录
Quit 退出当前安装程序

如果安装附件是 *.msi 文件,即需要使用 msiexec.exe 文件来调用,例:
ExecWait '"msiexec.exe" /i "外部程序.msi" 参数列表'

有时候外部程序调用过于复杂,可以尝试放在批处理文件当中。然后由 NSIS 执行批处理
在批处理文件当中
%COMPUTERNAME% 代表当前机器名
%PROGRAMFILES% 代表 program files 所在的目录

如果需要生成其它语言的安装包,光改 !insertmacro MUI_LANGUAGE "TradChinese"还不行,
需要使用下面的 Unicode 版本。
nsis-2.33-Unicode-setup.exe
安装完成以后打开 makensisw.exe 编辑器,再装载 .nsi 脚本,编译即可。


;改变当前对话框中标签的值。
Var /GLOBAL i
${ForEach} $i 0 5000 + 1
 ;MessageBox MB_OK $i
 GetDlgItem $R0 $HWNDPARENT $i
  SendMessage $R0 ${WM_SETTEXT} 0 "STR:$i"
${Next}

 类似资料: