Dan Aquinas
Dan Aquinas

Reputation: 371

Running Setup.exe created by Inno Setup and get "... '"isxdl.dll' was not found." error

Compiled a Inno Setup script (IS v5.4.2), but when ran resulting Setup.exe, an error dialog appeared with content: Internal error: ExtractTemporaryFile: The file "isxdl.dll" was not found.

I could not find this .DLL anywhere on my system. While there's probably a good technical reason for it, I found it confusing that the Inno Setup compiler did not complain that the ISXDL.DLL was not available.

============================= *Found Answer Myself *

I found the issue myself after a bit of searching and experimentation. Evidently I had at one point installed "ISTool", which contains the ISXDL.DLL file, and used "ISTool" to construct and/or compile the .ISS script in question. This placed some references like the following in the setup.

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';

For whatever reason, I uninstalled ISTool (possibly motivated by fact that ISTool is not listed, as of May 20, 2011, on the Inno Setup 3rd Party Tools page), but this left the related code still in my script, which compiled okay using Inno Setup.

Upvotes: 5

Views: 6522

Answers (2)

Dan Aquinas
Dan Aquinas

Reputation: 371

I found the issue myself after a bit of searching and experimentation. Evidently I had at one point (i.e., a year or more ago) installed "ISTool", which contains the ISXDL.DLL file, and used "ISTool" to construct and/or compile the .ISS script in question. This placed some references like the following in the .ISS setup script.

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';

For whatever reason, I uninstalled ISTool (possibly motivated by fact that ISTool is not listed, as of May 20, 2011, on the Inno Setup 3rd Party Tools page), but this left the related code still in my script, which subsequently compiled okay using "Inno Setup".

To correct this, I just deleted the code containing the references to "_isxdl".

Upvotes: 3

Robert Love
Robert Love

Reputation: 12581

You need to have ISXDL.DLL listed in your [Files] section to use the listed functions.

The source code to ISXDL.DLL can be found on the the Project Page.

Upvotes: 2

Related Questions