Installation 在Inno设置图标部分计算命令参数值

Installation 在Inno设置图标部分计算命令参数值,installation,inno-setup,pascalscript,Installation,Inno Setup,Pascalscript,我的问题是这个问题的继续。在这篇文章中,我正在阅读一个XML文件节点,并成功地使用过程ProcGetWebAppNameFromXML获取该值,我试图将该值传递到[图标]部分,但我得到了空值 下面提到了代码片段 [Run] Filename: "{app}\test1.bat"; StatusMsg: "Running Services..."; \ BeforeInstall: ProcGetWebAppNameFromXML; [Icons

我的问题是这个问题的继续。在这篇文章中,我正在阅读一个XML文件节点,并成功地使用过程
ProcGetWebAppNameFromXML
获取该值,我试图将该值传递到
[图标]
部分,但我得到了空值

下面提到了代码片段

[Run]

Filename: "{app}\test1.bat"; StatusMsg: "Running Services..."; \
    BeforeInstall: ProcGetWebAppNameFromXML;

[Icons]
Name: "{commondesktop}\App"; Filename: "{pf}\Internet Explorer\iexplore.exe";  \
    Parameters: """http://{code:GetWebAppNameFromXML|}/"""
过程
ProcGetWebAppNameFromXML
获取webapp名称(工作完全正常),我将其分配给一个全局变量

[代码]
变量
WebAppNameFromXML:String;
过程ProcGetWebAppNameFromXML();
变量
...
...
WebAppNameFromXML:=LoadValueFromXML(applicationxmlFile,//ns:application name,,“application name”);
日志('此处正确记录了WebApp名称..'+WebAppNameFromXML);
结束;
我使用下面提到的函数来赋值

function GetWebAppNameFromXML(Default: String): String;
begin
    Result := WebAppNameFromXML;
end;
当我将函数
GetWebAppNameFromXML
传递到
Icons
部分时,我得到的是空的。请注意,我在
[Run]
部分下面有
[Icons]
,我也使用了
changessociations=yes


提前感谢。

[Run]
部分作为最后一个部分处理。所以在
[Icons]
部分之后。 看

看起来你实际上是在滥用它

在中调用
ProcGetWebAppNameFromXML

或者,如果您的
[图标]
部分只需要
WebAppNameFromXML
,请直接在
GetWebAppNameFromXML
中阅读XML,您不需要任何全局变量