Import 如何从Inno安装脚本中的DLL有条件地导入函数?

Import 如何从Inno安装脚本中的DLL有条件地导入函数?,import,inno-setup,Import,Inno Setup,我有一个助手DLL和一个在安装脚本末尾调用的函数。我只想根据操作系统版本运行它 我在代码部分包括以下几行: function CompleteInstall(szInstallPath: String) : Integer; external 'CompleteInstall@files:InstallHelper.dll cdecl setuponly'; 我编写了一个函数来防止提取DLL,在[Files]部分的DLL源语句中添加“Check:IsXPorHigher” 似乎当安装程序开始

我有一个助手DLL和一个在安装脚本末尾调用的函数。我只想根据操作系统版本运行它

我在代码部分包括以下几行:

function CompleteInstall(szInstallPath: String) :  Integer;
external 'CompleteInstall@files:InstallHelper.dll cdecl setuponly';
我编写了一个函数来防止提取DLL,在[Files]部分的DLL源语句中添加“Check:IsXPorHigher”

似乎当安装程序开始时,由于external语句,它试图解析外部函数,导致运行时错误(无法导入…),因为my DLL依赖于旧操作系统上不可用的函数


我是否可以在脚本中有条件地声明函数,或者对于较旧版本的操作系统,这是否需要单独的安装程序?我正在努力为所有场景维护一个脚本。

您是否尝试过使用
delayload
选项?请参阅Inno安装文档中Pascal脚本下的使用DLL部分


杰出的谢谢你的提示。
function CompleteInstall(szInstallPath: String) : Integer;
external 'CompleteInstall@files:InstallHelper.dll cdecl setuponly delayload';