这个问题已经在这里有一个答案:
在innosetup安装,我的目标是配置Windows防火墙以打开足够的端口为我的软件
[Run]
Filename: "{sys}\netsh.exe"; Parameters: "firewall set portopening protocol=TCP port=""{code:GetServerPort()}"" name=NxTCP mode=ENABLE"; StatusMsg: "Opening TCP Port ""{code:GetServerPort()}"; Flags: runhidden
[Code]
function GetServerPort(): String;
begin
Result := "5555"; //obtained with the Wizard
end;
而我得到这个错误
所需的函数或过程“GetServerPort()”未找到。
或者,如果我在掉话的()
无效的原型“GetServerPort”
此代码的工作对我来说:
[Run]
Filename: "{sys}\netsh.exe"; Parameters: "firewall set portopening protocol=TCP port=""{code:GetServerPort}"" name=NxTCP mode=ENABLE"; StatusMsg: "Opening TCP Port ""{code:GetServerPort}"; Flags: runhidden
[Code]
function GetServerPort(Value: string): String;
begin
Result := '5555'; //obtained with the Wizard
end;
在[Run]
你的函数调用的格式不正确。该{code:XXX}
基本上是一个Check
参数和http://www.jrsoftware.org/ishelp/topic_scriptcheck.htm被记录在案