gpt4 book ai didi

c++ - 将 DLL 导入 Inno Setup 时出现问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:24:07 24 4
gpt4 key购买 nike

我正在 Inno Setup 安装脚本中导入 C++ DLL。 DLL代码如下:

void __stdcall SetFbParam(
char *dbFileName,char *dbTableName,char *dbParamName,char *dbParamValue) {
// of no use here and doesn't change anything
}

在 Inno Setup 中,我使用

procedure FBset(dbFileName,dbTableName,dbParamName,dbParamValue: String;);
external 'SetFbParam@files:MyDll.dll stdcall setuponly';

但是,在安装程序启动期间,我总是遇到运行时错误,说它无法导入我的 dll。我尝试了各种调用约定,但总是失败。如果它有任何重要意义,我正在运行带有 UAC 的 Win7 x64(安装程序请求权限提升并在此之后崩溃)。

确切的消息是:

Error
Runtime error (at -1:0):
Cannot import
dll:C:\Users\Nevod\AppData\Local\Temp\is-6LOEC.tmp\MyDll.dll

dll 在那里。

谢谢!

最佳答案

MyDll.dll 是 32 位的吗?

MyDll.dll 是否依赖于同一目录中的任何其他 DLL?如果是这样,您需要在 MyDll.dll 之后列出这些 DLL 的名称,以确保它们在之前 MyDll.dll 被提取已加载,您可能还需要 loadwithalteredsearchpath 选项。来自 help 的示例:

procedure ADllFunc(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal);
// A.dll depends on B.dll
external 'ADllFunc@files:A.dll,B.dll stdcall loadwithalteredsearchpath';

关于c++ - 将 DLL 导入 Inno Setup 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3549977/

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