2

我想知道如何控制inno setup的语言,我希望当用户在安装后选择英文inno setup会消除意大利语文件,但如果用户选择意大利语,我希望安装后会删除语言文件English。我尝试了这段代码但不起作用:

[InstallDelete]
#if {language} = "english"
Type: files; Name: "{commondesktop}\english.txt"
#if {language} = "italian"
Type: files; Name: "{commondesktop}\italian.txt"
#endif

谢谢。

对不起我的英语不好。

4

1 回答 1

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代码中的支持功能来删除文件,例如在“ssDone”或“ssPostInstall”的CurStepChanged过程中。CurStep

于 2012-04-29T02:05:48.100 回答