4

I am creating an application that has a different name depending on the user language. So for example the software is called "Device Emulator" in English and "Geräteemulation" in German.

I want to reflect the different names in the Version Info of the setup file (right click -> Properties -> "Details" tab). So far I have found no way in Inno Setup to specify a localized "VersionInfo", neither in the online help nor on the net.

Originally I tried to use custom messages in the setup sections of which I learned I am not allowed to. See code below.

[Setup]
AppName={cm:ApplicationName}
AppVerName={cm:ApplicationName} V{#MYVERSION}
AppCopyright=© 2018 {#MYCOMPANY}
AppPublisher={#MYCOMPANY}
AppVersion={#MYVERSION}
AppId={cm:ApplicationName}{#MYVERSION}

VersionInfoVersion={#MYVERSION}
VersionInfoCompany={#MYCOMPANY}
VersionInfoCopyRight=(C) {#MYCOMPANY}
VersionInfoDescription={cm:ApplicationName}
VersionInfoProductName={cm:ApplicationName}
VersionInfoProductVersion={#MYVERSION}

I expected this to show me a property window with localized application name and version information but unfortunately it just displays {cm:ApplicationName} for AppName, VersionInfoProductName and VersionInfoDescription.

enter image description here

So, does any of you know how to localize this in Inno Setup?

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992

1 Answers1

2

All Inno Setup constants are evaluated on run/install-time. While version info is a compile-time thing (it's built into a header of the installer .exe file). So you cannot use constants in any of the VersionInfo* directives.

While technically, Windows .exe can include separate version info structures for different locales (languages), this is not supported by Inno Setup.

Inno Setup has only a single placeholder for the version info.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
  • Thanks, I was afraid that Inno Setup is not supporting this. – Benedikt D. Apr 24 '19 at 08:18
  • Do I understand right that you have a single multi language installer? Or are you building a separate installer for each language? – Martin Prikryl Apr 24 '19 at 08:19
  • 2
    Yes you are right. I have a single multi language installer and depending on the locale of the user system I wanted to present different version information in the properties tab. I did this before with C++ resource files for executeables and dll files. Therefore I know windows allows you to do this, just as you mentioned. It's really a pity Inno Setup is not supporting this. But well, I will have to cope with that. – Benedikt D. Apr 24 '19 at 08:27