使用Inno Setup将选定的语言传播到子安装程序

时间:2017-08-03 13:24:59

标签: inno-setup

我有一个主Inno安装程序安装程序,我可以在其中选择一种语言。在Run部分,我启动了一个子安装程序(也是在Inno Setup中创建的)。

启动第二个安装程序时,我想使用主安装程序中选择的语言。

所以我传入参数语言。

现在,在Code部分,我想获取参数中的语言并进行设置。

MyMainProgram.iss

Filename: "{tmp}\MySubProgram_setup.exe"; StatusMsg: "Installing My Sub Program"; \
    Parameters: "/Language ""{language}"""

MySubProgram.iss我可以使用以下语言:{code:GetCommandLineParam|/Language}language := GetCommandLineParam('Language')

但我不知道如何设置语言 感谢

1 个答案:

答案 0 :(得分:2)

假设两个安装程序都使用标准的Inno Setup语言机制/对话框,只需使用/LANG command-line switch(对于子安装程序)并将其设置为值{language} constant(在主安装程序中):

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"

[Run]
Filename: "{tmp}\MySubProgram_setup.exe"; StatusMsg: "Installing My Sub Program"; \
    Parameters: "/LANG={language}"

子安装程序不需要任何其他代码。它只需要定义相同的语言:

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"

German

enter image description here