我使用Inno Setup 6. x的目标是在代码中自定义FinishedLabel
文本,即Pascal Script。我使用Pascal Script的原因是我只想在IsAdmin模式()
为真时自定义/更改标签。我该怎么做?
以下两种方法不起作用:
>
使用脚本常量:
[Messages]
FinishedLabel={code:GetFinishedLabel}
[Code]
function GetFinishedLabel(Param: String): String;
begin
Result := 'BLA';
end;
这显示的是“{code:GetFinishedLabel}”,而不是“BLA”。
在< code>InitializeWizard中自定义向导。
完整(失败)示例:
[Code]
procedure InitializeWizard();
begin
WizardForm.FinishedLabel.Caption := 'BLA';
end;
FinishLabel
仍然显示Default.isl
中的原始文本
有什么想法吗?
< code>FinishedLabel会在安装结束时根据各种因素进行更新。因此您在< code>InitializeWizard中设置的值将被覆盖。您必须稍后设置您的自定义消息,例如在< code > CurPageChanged(WP finished)中:
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpFinished then
begin
WizardForm.FinishedLabel.Caption := 'BLA';
end;
end;
您可以考虑改进代码来做Inno Setup会做的事情,比如:
完成重启标签
);DoneLabel
vs. DoneLabelNoIcons
);运行列表
位置。引用 Setup.nsi 的内容: !addPluginDir ".\" !include "MUI2.nsh" !include "WinVer.nsh" !include "TextFunc.nsh" Name "测试程序" Caption "$(^NameDA) 1.0" OutFile Setup.exe ;SetFont "Tahoma" 8 InstallDir $TEMP Re
我正在尝试为我正在使用Inno Setup Compiler 5.5.1制作的安装程序编写一些Pascal脚本。我目前正在尝试添加一个执行命令的自定义向导页面,从文本字段(TEdit 组件)中获取用户输入。我定义了 NextButtonClick 函数,它检查页面 ID 是否是我定义的自定义页面,并尝试从字段中检索用户输入。当我从页面的 Surface 属性的组件中获取它时,它会作为 TCompo
现在如果我用这个命令 它将创建一个具有最新版本(如5.2)的laravel项目,但是如果我想安装一个特定的版本(如5.1版),该怎么办? 更新::我正在寻找laravel安装程序命令,是否有任何选项/参数用于特定版本的安装?
我正在尝试使用Inno setup pascal脚本函数RegQueryStringValue从Windows注册表中读取机器GUID。我要找的注册表项是HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ MACHINE guid 这将无法在HwId变量中设置值。 我错过了什么?
我在Inno Setup Script中从DLL文件调用一个函数,它的返回类型是。为了获取整个字符串,我需要取消引用指针,但标准的Pascal语法在这里不起作用。有可能做到这一点吗? 我只有DLL文件。原始语言是德尔福。 我更新到最新版本的Inno Setup 6.0.3,并在我家用Windows 10 Pro机器上测试了以下代码: 我不明白为什么它必须查看我的“临时”目录?我还听说这个问题可能与