Inno setup 如何使用带有预处理器常量的自定义消息的语言文件?

Inno setup 如何使用带有预处理器常量的自定义消息的语言文件?,inno-setup,pascalscript,Inno Setup,Pascalscript,我想将所有CustomMessages放在语言文件中(扩展名isl)。另外,一些消息包含预处理器常量,例如 ALREADY_INSTALLED={#MyAppName} is already installed on this computer. 消息应如下所示显示: “这台计算机上已经安装了我非常好的应用程序” 但我得到的是: “{#MyAppName}已安装在此计算机上。” 当我在同一iss文件中拥有代码、在[CustomMessages]-主题中定义的消息和#define MyAppNa

我想将所有
CustomMessages
放在语言文件中(扩展名
isl
)。另外,一些消息包含预处理器常量,例如

ALREADY_INSTALLED={#MyAppName} is already installed on this computer.
消息应如下所示显示:

“这台计算机上已经安装了我非常好的应用程序”

但我得到的是:

“{#MyAppName}已安装在此计算机上。”

当我在同一iss文件中拥有代码、在
[CustomMessages]
-主题中定义的消息和
#define MyAppName
中定义的消息时,以下功能非常有用:

MsgBox(ExpandConstant({cm:ready_INSTALLED}'),…);

有什么线索吗?

只有
.iss
文件被预处理,而不是
.isl
文件

但您可以使用:

FmtMessage(CustomMessage('ready#u INSTALLED'),['{{MyAppName}']

注意,在Pascal脚本代码中,最好使用,而不是
ExpandConstant({cm:FOO}')


类似问题:

如果需要预处理标准消息,请参阅

ALREADY_INSTALLED=%1 is already installed on this computer.