How do I localize VersionInfo of an Inno Setup installation file?

≯℡__Kan透↙ 提交于 2020-04-10 03:57:06

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!