安装程序会检测已安装应用程序的语言,假设$detected_language
其值为“ pl ”。
现在我希望只menu.cfg
安装一个文件,基于$detected_language
. File ...
不允许使用变量。是创建大量Sections的唯一方法,并将它们命名为“Kardaw Mod(英语)”、“Kardaw Mod(德语)”等,并隐藏所有带有与检测到的语言不匹配的标志的不必要的 Sections 吗?(menu.cfg 不能即时修改,因为它是加密的)。
var detected_language
...
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE detect_app_language; /*$detected_language → "pl"*/
!insertmacro MUI_PAGE_DIRECTORY
...
Section "Kardaw Mod"
SetOutPath "$INSTDIR\data"
File "E:\MyMods\Kardaw Mod\English\data\menu.cfg"
File "E:\MyMods\Kardaw Mod\German\data\menu.cfg"
File "E:\MyMods\Kardaw Mod\French\data\menu.cfg"
File "E:\MyMods\Kardaw Mod\Spanish\data\menu.cfg"
File "E:\MyMods\Kardaw Mod\Russian\data\menu.cfg"
File "E:\MyMods\Kardaw Mod\Polish\data\menu.cfg";/* ←this one is the correct one */