Inno-Setup Installer does not dynamically choose t

2019-05-23 01:42发布

I have an application which runs on Windows.

My requirement is: when the language on the Windows is configured to Portuguese, the installer should display text in Portuguese language by default, without showing any select language option.

Similarly, when running on Windows configured with English, it should pick up English and so on.

Currently, as my language in default.isl under [langOptions] is English, It pickups up English. Even on Portuguese Windows machine it displays English only.

My script is as below:

[Setup]
AppId={{A33BA940-B460-FFFF-EFF3-1DDCE7083726}
AppName=Software Updater
AppVersion=2.6.3
DefaultDirName={pf}\Software Updater
DefaultGroupName=Software Updater
OutputDir=C:\Users\vinayb\Documents\SU_installer  
OutputBaseFilename=Software Updater 64bit - version 2.6.3
SetupIconFile=C:\Vinay\Installer\2.6.3\Installer files\SU_256px.ico
UninstallDisplayIcon=C:\Vinay\Installer\2.6.3\Installer files\SU_256px.ico
UninstallDisplayName=Software Updater
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64
WizardSmallImageFile=C:\Program Files (x86)\Inno Setup5\WizModernSmallImage-IS.bmp
WizardImageFile=C:\Program Files (x86)\Inno Setup 5\WizModernImage-IS.bmp
LanguageDetectionMethod=uilanguage
ShowLanguageDialog=no

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "english"; MessagesFile: "compiler:Languages\EnglishUS.isl"
Name: "en_GB"; MessagesFile: "compiler:Languages\EnglishUK.isl"
Name: "brazilianportuguese"; MessagesFile:"compiler:Languages\BrazilianPortuguese.isl"
Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.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: "greek"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.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: "scottishgaelic"; MessagesFile: "compiler:Languages\ScottishGaelic.isl"
Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl"
Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"

[Registry]
Root: HKLM; Subkey: "Software\Example\Software Updater\Settings"; ValueType: string; ValueName: "Language"; ValueData: "{language}"
Root: HKLM; Subkey: "Software\Example\Software Updater\Settings"; ValueType: string; ValueName: "Version"; ValueData: "2.6.3"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Program Files\Software Updater\Software Updater.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files\Software Updater\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: "{group}\Software Updater"; Filename: "{app}\Software Updater.exe"
Name: "{group}\{cm:UninstallProgram,Software Updater}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Software Updater"; Filename: "{app}\Software Updater.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Software Updater"; Filename: "{app}\Software Updater.exe"; Tasks: quicklaunchicon

[UninstallRun]
Filename: "{app}\Uninstall.bat"; StatusMsg: "Deleteing temporary files and directory...";

[UninstallDelete]
Type: filesandordirs; Name: "{tmp}\global"
Type: filesandordirs; Name: "{app}"

My default.isl file under C:\Program Files (x86)\Inno Setup 5 has the following entries.

[LangOptions]
LanguageName=English
LanguageID=$0409
LanguageCodePage=0

Any way around this?

标签: inno-setup
0条回答
登录 后发表回答