在Section区段中通过读取INI文件状态来安装
若要实现如图所示,选中单选框1则安装1中定义的文件,若不选中则不安装,若选中单选框2则安装2定义的文件,若不选则不安装,
如图:
可以使用以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | !include LogicLib.nsh Section -post SetOutPath $INSTDIR !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "info.ini" "Field 2" "State" ${If} $INI_VALUE = 1 File /a ".\file\fileA.exe" File /a ".\file\fileB.exe" ${EndIf} !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "info.ini" "Field 3" "State" ${If} $INI_VALUE = 1 File /a ".\file\fileA.exe" ${EndIf} SectionEnd |
或者使用以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | !include LogicLib.nsh Section -post SetOutPath $INSTDIR !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "info.ini" "Field 2" "State" ${If} $INI_VALUE = 1 ;选中时执行的代码 File /a ".\file\fileA.exe" File /a ".\file\fileB.exe" ${Else} ;不选中时执行的代码 File /a ".\file\fileA.exe" ${EndIf} SectionEnd |
文章来源:易量安装