gpt4 book ai didi

import - 如何在 Inno Setup 脚本中有条件地从 DLL 导入函数?

转载 作者:行者123 更新时间:2023-12-02 06:36:16 25 4
gpt4 key购买 nike

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

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

function CompleteInstall(szInstallPath: String) :  Integer;
external 'CompleteInstall@files:InstallHelper.dll cdecl setuponly';

我编写了一个函数来防止提取 DLL,将“Check: IsXPorHigher”添加到 [Files] 部分中 DLL 的 Source 语句中。

看来,当安装程序开始时,它会由于外部语句而尝试解析外部函数,从而导致运行时错误(无法导入...),因为我的 DLL 依赖于旧操作系统上不可用的函数。

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

最佳答案

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

function CompleteInstall(szInstallPath: String) : Integer;
external 'CompleteInstall@files:InstallHelper.dll cdecl setuponly delayload';

关于import - 如何在 Inno Setup 脚本中有条件地从 DLL 导入函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1364753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com