问题
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
.
So, does any of you know how to localize this in Inno Setup?
回答1:
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.
来源:https://stackoverflow.com/questions/55824937/how-do-i-localize-versioninfo-of-an-inno-setup-installation-file