Hi.
Sorry for my english...
I hope this is the correct forum to post this. If not, sorry in advance.

I'm trying to make a setup that will choose automatically the language (at start) depending on the result of GetUILanguage.
I made this function in (code) section:

Function SetLanguageFile(Param: String): String;
begin
   if GetUILanguage = <number> then
      Result := 'compiler:Languages\Language1.isl'
   else
      Result := 'compiler:Languages\Language2.isl';
end;

The problem is that in [Languages] section I can't use it like this:

Name: "Language"; MessagesFile: "{code: SetLanguageFile}"

The compiler says: Unknown filename prefix "{code:"

I can't use the Unicode version of Inno and I can't use LanguageCodePage (from language file).

My question: is there a way to make the setup choose automatically (with this function or any other)...?
Thank you in advance for any reply.

Edited 3 Years Ago by mike_2000_17: Fixed formatting

Thank you for the link but I said:

I can't use the Unicode version of Inno

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{C6761BDE-DC55-4CFE-8409-BA9EC07F6352}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

;SET THIS TRUE
ShowUndisplayableLanguages=yes
;AND YOU CAN SELECT ONE OF THE LANGUAGES THAT ARE LISTED
;BY THE WAY,THE LANG SELECTED AUTOMATICALLY
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "basque"; MessagesFile: "compiler:Languages\Basque.isl"
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon

[Run]
Filename: "{app}\MyProg.exe"; Description: "{cm:LaunchProgram,My Program}"; Flags: nowait postinstall skipifsilent

thinking loudly just a bit....
I do not understand the function calls in this programming lang...
when I read the help about pascal scripting in inno setup ,but ...
nothing ...
I can create a function in pascal,there is function call,but here... :'(

This article has been dead for over six months. Start a new discussion instead.