使用Inno Setup基于语言进行条件安装

Enr*_*oma 3 inno-setup

我正在尝试根据Inno Setup中选择的语言进行条件安装.

即如果选择的语言是英语,则安装文件en.txt,如果选择的语言是意大利语,则安装文件it.txt,依此类推.

这样做有可能吗?我已经看到有{language}常量,但我不明白如何使用它来进行条件安装.

jac*_*ate 9

通过将语言参数添加到[文件]条目,基于语言选择安装的文件始终是有条件的.

Inno Setup帮助中的常用参数说:

语言
以空格分隔的语言名称列表,告诉安装程序该条目属于哪种语言.如果最终用户从此列表中选择语言,则处理该条目(例如:安装该文件).

始终处理没有语言参数的条目,除非其他参数说它不应该.

除了空格分隔列表,您还可以使用布尔表达式.有关布尔表达式的示例,请参阅组件和任务参数.

示例:
语言:en nl

因此,如果您想要仅为英语安装文件而另一个仅为西班牙语安装文件,而另一个文件安装为英语和西班牙语(但不是法语),[Files]条目可能如下所示:

[Files]
Source: "MyProg-en.chm"; DestDir: "{app}"; Languages: en
Source: "MyProg-es.chm"; DestDir: "{app}"; Languages: es
Source: "x.exe"; DestDir: "{app}"; Languages: en es
Run Code Online (Sandbox Code Playgroud)

查看inno setup examples文件夹中包含的Languages.iss脚本.