编译了 Inno Setup 脚本 (IS v5.4.2),但运行生成的 Setup.exe 时,出现错误对话框,内容为:内部错误:ExtractTemporaryFile:找不到文件“isxdl.dll”。
我在系统上的任何地方都找不到这个 .DLL。虽然这可能有一个很好的技术原因,但我发现 Inno Setup 编译器没有抱怨 ISXDL.DLL 不可用,这让我感到困惑。
============================== *自己找到答案*
经过一番搜索和实验,我自己发现了这个问题。显然,我曾经安装过包含 ISXDL.DLL 文件的“ISTool”,并使用“ISTool”来构造和/或编译有问题的 .ISS 脚本。这在设置中放置了一些参考,如下所示。
procedure isxdl_AddFile(URL, Filename: AnsiString);
external 'isxdl_AddFile@files:isxdl.dll stdcall';
function isxdl_DownloadFiles(hWnd: Integer): Integer;
external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
function isxdl_SetOption(Option, Value: AnsiString): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall';
无论出于何种原因,我卸载了 ISTool(可能是因为 ISTool 未列出,截至 2011 年 5 月 20 日,在 Inno Setup 3rd Party Tools页面上),但这使相关代码仍在我的脚本中,使用编译好创新设置。