当前位置: > 部署 >

NSIS:使用SectionSetText隐藏不想显示的区段

  • 部署
  • 2014-11-30 14:22

之前,轻狂曾经写过一篇文章介绍“使用SectionSetFlags根据不同环境自动勾选特定区段”的文章,如果我们想更进一步,直接让不符合条件的区段隐藏该怎么做呢?我们来试一下。这里需要用到SectionSetText,NSIS手册中对SectionSetText有如下说明:

设置 "区段索引" 区段的描述。如果文本设为 "" 则该区段将会隐藏。

好,我们要的就是这个“隐藏”!

代码如下:

;NSIS:使用SectionSetText隐藏不想显示的区段
;作者:少轻狂
;支持:www.flighty.cn
Name "隐藏区段"
Caption "$(^Name)"
OutFile "隐藏区段.exe"
XPStyle on
!include "MUI2.nsh"

RequestExecutionLevel admin
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "SimpChinese"

Section /o "少轻狂" test_section_1
	MessageBox MB_OK "1"
SectionEnd

Section /o "轻狂志" test_section_2
	MessageBox MB_OK "2"
SectionEnd

Function .onInit
  SectionSetFlags ${test_section_1} 1 ;勾选“少轻狂”区段
  SectionSetText ${test_section_2} "" ;隐藏“轻狂志”区段
FunctionEnd

在.onInit中我们可以做一些复杂一点的判断,进而设置区段的勾选、隐藏,这样就实现了一个安装包适应不同环境的目的啦!有什么创意,大家尽情发挥呵。

猜你喜欢

最新评论

说点什么吧
  • 全部评论(0