我想知道如何控制inno设置的语言,我想当用户在安装后选择英文inno设置时会删除意大利语文件,但如果用户选择了意大利语,我希望之后安装会删除语言文件英文。我尝试了这段代码但不起作用:
[InstallDelete]
#if {language} = "english"
Type: files; Name: "{commondesktop}\english.txt"
#if {language} = "italian"
Type: files; Name: "{commondesktop}\italian.txt"
#endif
感谢。
对不起我的英文。
答案 0 :(得分:4)
在编译时评估指令,并且在任何情况下,[InstallDelete]部分在安装开始时处理。对于您的案例,最简单的方法是,如果用户没有选择相应的安装语言,则首先不安装文件:
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
[Files]
Source: "english.txt"; DestDir: "{commondesktop}"; Languages: en;
Source: "italian.txt"; DestDir: "{commondesktop}"; Languages: it;
如果我以某种方式误解了这个问题,您可以使用代码中的DeleteFile
支持功能来删除文件,例如在CurStepChanged
过程中CurStep
是'ssDone'或'ssPostInstall'。