运行由Inno Setup创建的Setup.exe并找不到“...”“isxdl.dll”。“错误

时间:2011-05-20 18:54:44

标签: inno-setup istool

编译了一个Inno安装脚本(IS v5.4.2),但在运行生成Setup.exe时,出现了一个包含内容的错误对话框:     内部错误:ExtractTemporaryFile:找不到文件“isxdl.dll”。

我在系统的任何地方找不到这个.DLL。虽然可能有一个很好的技术原因,但我发现Inno Setup编译器并没有抱怨ISXDL.DLL不可用,这令人困惑。

============================= * 找到答案我自己*

经过一番搜索和实验后,我自己发现了这个问题。显然我曾经安装过“ISTool”,其中包含ISXDL.DLL文件,并使用“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页面上),但这仍然在我的脚本中保留了相关代码,使用Inno Setup编译好。

2 个答案:

答案 0 :(得分:2)

经过一番搜索和实验后,我自己发现了这个问题。显然,我曾在某一点(即一年或更久以前)安装了“ISTool”,其中包含ISXDL.DLL文件,并使用“ISTool”来构造和/或编译有问题的.ISS脚本。这在.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页面上),但这仍然在我的脚本中保留了相关代码,后来使用“Inno Setup”编译好了。

为了纠正这个问题,我刚刚删除了包含对“_isxdl”的引用的代码。

答案 1 :(得分:1)

您需要在[Files]部分中列出ISXDL.DLL才能使用列出的功能。

可以在Project Page上找到ISXDL.DLL的源代码。