我正在尝试在命令行参数中使用条件-我使用了本教程,它的效果很好:在Inno Setup中创建一个使用命令行参数执行程序的快捷方式
我正在创建一个安装程序,我想知道如果用户选择西班牙语,该创建的快捷方式具有参数: -spanish
#define MyAppName "The software"
#define MyAppVersion "1.0"
#define MyAppPublisher "Inc."
[Languages]
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
[Files]
Source: "C:\Program Files (x86)\The software\*"; DestDir: "{app}"; \
Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Soft name"; Filename: "{app}\soft.exe"; \
Parameters: "-english"; IconFilename: {app}\icon.ico;
要么使用Languages
参数:
[Icons]
Name: "{commondesktop}\Soft name"; Filename: "{app}\soft.exe"; \
Parameters: "-english"; IconFilename: {app}\icon.ico; Languages: english
Name: "{commondesktop}\Soft name"; Filename: "{app}\soft.exe"; \
Parameters: "-russian"; IconFilename: {app}\icon.ico; Languages: russian
...
或使用脚本化常量和ActiveLanguage
函数。如果您的语言Name
和开关名称始终匹配,则非常简单:
[Icons]
Name: "{commondesktop}\Soft name"; Filename: "{app}\soft.exe"; \
Parameters: "-{code:ActiveLanguage}"; IconFilename: {app}\icon.ico
如果它们不匹配,则必须实现一个代理功能,将ActiveLanguage
值转换为等效的交换机名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句