Inno Setup使用Pascal脚本自定义FinishedLabel

谢考

我使用Inno Setup 6.x的目标是自定义FinishedLabel代码中文本,即Pascal脚本。我使用Pascal Script的原因是,我只想自定义/更改标签(如果IsAdminMode()为true)。我怎样才能做到这一点?

以下两种方法不起作用:

  1. 使用脚本化常量:

    [Messages]
    FinishedLabel={code:GetFinishedLabel}
    
    [Code]
    function GetFinishedLabel(Param: String): String;
    begin
      Result := 'BLA';
    end;
    

    这显示“ {code:GetFinishedLabel}”而不是“ BLA”。

  2. 在中自定义向导InitializeWizard

    完整(失败)示例:

    [Code]
    procedure InitializeWizard();
    begin
      WizardForm.FinishedLabel.Caption := 'BLA';
    end;
    

    FinishLabel仍然显示从原来的文本Default.isl

有任何想法吗?

平蓬

FinishedLabel是在安装结束时,根据各种因素进行更新。因此,您设置的值将InitializeWizard被覆盖。您稍后必须设置自定义消息,例如CurPageChanged(wpFinished)

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpFinished then
  begin
    WizardForm.FinishedLabel.Caption := 'BLA';
  end;
end;

您可能会考虑改进代码以执行Inno Setup会执行的操作,例如:

  • 考虑到是否需要重启(FinishedRestartLabel);
  • 考虑到是否创建了图标(FinishedLabelvs. FinishedLabelNoIcons);
  • 调整标签高度以适合消息;
  • RunList根据消息高度移动位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Inno Setup:自定义类

Inno Setup:创建自定义表单

使用Google Map的Inno Setup自定义页面

Inno Setup Pascal脚本中的多行注释

在Inno Setup Pascal脚本中声明变量

在Inno Setup Pascal脚本中销毁对象

Inno Setup 中的自定义 regasm 卸载

Inno Setup - 创建自定义消息框(是/否)

Inno Setup在自定义页面上放置图像/控件

Inno Setup-自定义安装页面

Inno Setup:自定义页面选择更新或删除/卸载

Inno Setup的自定义页面向导

使用Inno Setup包含注册表,自定义消息和代码文件的正确方法

Inno Setup-使用进度条在自定义页面上复制文件

Inno Setup在自定义表单标题栏上使用其他图标

在Inno Setup中:如何使用/了解自定义页面的CurPageIDs的值?

Inno Setup:使用“注册表”部分中“自定义向导”页面中的数据

如何使用RichEditViewer在Inno Setup中向自定义页面添加可点击链接?

如何从Inno Setup Pascal脚本设置版本号

在Inno Setup Pascal脚本中访问PAnsiChar指向的内存

使用Inno Setup Pascal脚本中的MediaInfo库获取图像文件信息

如何使Inno Setup / DIR命令行开关与自定义路径页面一起使用

在不使用全局变量的情况下从自定义Inno Setup向导页面读取值

使用Inno Setup将自定义字符串值写入SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall

Inno Setup tmp被阻止

Inno Setup在自定义文件夹选择页面上显示安装所需的空间

Inno Setup如何在自定义消息中添加CRLF /换行符

从命令行设置Inno Setup自定义页面字段的值

每个用户或每个计算机安装的Inno Setup自定义对话框