Inno setup 如何调用外部iss脚本并使用代码部分下的主要Inno设置脚本中的函数?

Inno setup 如何调用外部iss脚本并使用代码部分下的主要Inno设置脚本中的函数?,inno-setup,pascalscript,Inno Setup,Pascalscript,我有一个Inno安装脚本,其中包含一些基本内容的代码部分。但我还有另一个Inno安装脚本文件(.iss),专门处理Windows服务。我想直接从主脚本调用这些函数/过程。那么,如何将#包含services.iss文件到我的主脚本中,以便从code部分调用它的函数呢 我在网上看到了一些示例,说明了如何使用此方法拆分文件部分,这很好,但我希望能够在安装之间使用公共代码脚本拆分代码部分。我可以在这里和那里找到关于它的提及,但是它没有告诉你怎么做。正如你提到的那样,使用 如果您有一个公共代码文件,如co

我有一个Inno安装脚本,其中包含一些基本内容的代码部分。但我还有另一个Inno安装脚本文件(.iss),专门处理Windows服务。我想直接从主脚本调用这些函数/过程。那么,如何将
#包含
services.iss
文件到我的主脚本中,以便从
code
部分调用它的函数呢


我在网上看到了一些示例,说明了如何使用此方法拆分文件部分,这很好,但我希望能够在安装之间使用公共代码脚本拆分代码部分。我可以在这里和那里找到关于它的提及,但是它没有告诉你怎么做。

正如你提到的那样,使用

如果您有一个公共代码文件,如
common.pas

procedure;
开始
{ ... }
结束;
您可以将其包括在主
.iss
脚本中,如:

[代码]
#包括“common.pas”
函数InitializeSetup():Boolean;
开始
{common.pas中包含的调用过程}
普通程序;
结果:=真;
结束;

扩展并不重要。我使用了
.pas
,作为文件,它纯粹是一个Pascal(脚本)代码。但是如果你更喜欢
.iss
,那是你的选择。尽管如此,从语法上来说,将节名包含到文件中更合适:

[代码]
程序普通程序;
开始
{ ... }
结束;
并包括
[code]
部分的文件外侧:

#包括“common.pas”
[守则]
函数InitializeSetup():Boolean;
开始
{common.pas中包含的调用过程}
普通程序;
结果:=真;
结束;
这种方法甚至为您提供了更大的灵活性,例如,如果您的代码需要一些支持文件:

[文件]
来源:“InnoCallback.dll”;标志:dontcopy
[守则]
程序普通程序;
开始
{ ... }
结束;

(虽然这只是编码风格的问题。从技术上讲,这并不重要,因为各个部分可以以任何方式混合。因此,您可以有
[code]
部分,然后是
[Files]
部分,然后是另一个
[code]
部分)。

太棒了!非常感谢。