编译了一个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编译好。
答案 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的源代码。