!define INIFILE_NAME "install.ini" !define INIFILE_SECTION "Setup" ; Example of install.ini ; [Setup] ; InstallationType=upgrade ; Component=master ; AdminPassword=pass ; ServerHostname=backend ; LocalShardHostname=shard1 ; LicenseFilePath=C:\rcs.lic !macro ReadFromINI _name InitPluginsDir EnumINI::Section "${INIFILE_NAME}" "${INIFILE_SECTION}" Pop $R0 StrCpy $R9 "" ${If} $R0 != "error" ${Do} ${If} $R0 == 0 ${Break} ${EndIf} Pop $R1 ReadINIStr $R2 "$EXEDIR\${INIFILE_NAME}" "${INIFILE_SECTION}" "$R1" ${If} $R1 == "${_name}" StrCpy $R9 $R2 ${Break} ${EndIf} IntOp $R0 $R0 - 1 ${Loop} ${EndIf} Push $R9 !macroend .