向Inno设置消息添加新的设置消息ID - 语言文件(.isl)

时间:2016-07-25 06:10:42

标签: inno-setup pascalscript

我想将一个名为SetupMessageID[msgButtonNotify]的新设置消息ID添加到Inno Setup。

我还需要使用像msgButtonNotify=Notify这样的.isl文件修改其文本。

如何在不收到任何异常消息的情况下添加新的安装消息ID?

如果可能,我应该在哪里添加它的源代码,包括MsgIDs.pas

如何更新MessageHdrID中的Struct.pas以添加新的设置消息ID?

因为,Jordan Russel在MsgIDs.pas上发出此警告:{ Note: When any messages are added/deleted/changed, MessagesHdrID needs to be updated in Struct.pas }

我无法理解我应该在Struct.pas更新什么内容。

Struct.pas中可以看到与此警告相关的行:

TMessagesHdrID = array[0..63] of AnsiChar;

MessagesHdrID: TMessagesHdrID = 'Inno Setup Messages (5.5.3)'{$IFDEF UNICODE}+' (u)'{$ENDIF};

这些行应该更新什么?

Jordan Russel的意思是Update那里???

我应该增加AnsiChar数组的值还是其他什么?

我问这个是因为当我向msgButtonNotify添加名为MsgIDs.pas的新设置消息ID并将TMessagesHdrID的AnsiChar数组长度增加到65时, 在Default.isl中添加我的新安装消息ID,然后编译项目并尝试使用Inno Setup Compiler进行测试编译,安装程序加载器说Message name "ButtonNotify" in Default.isl is not recognized by this version of Inno Setup

为什么会发生这种异常?

在Inno Setup Compiler的源代码中添加新的安装消息ID时,是否还有其他单元需要更新?

先谢谢。

1 个答案:

答案 0 :(得分:1)

我没有看到重新编译Inno Setup以添加新消息的重点。

使用.iss[CustomMessages] ButtonNotify=&Notify 中的CustomMessages section添加新邮件。

procedure InitializeWizard();
var
  NotifyButton: TNewButton;
begin
  NotifyButton := TNewButton.Create(WizardForm);
  NotifyButton.Parent := WizardForm;
  NotifyButton.Caption := CustomMessage('ButtonNotify');
  ...
end;

然后使用CustomMessage function(或{cm:...} constant)加载邮件。

{{1}}