簡體   English   中英

運行由Inno Setup創建的Setup.exe並獲取“ ...'“ isxdl.dll'未找到。”錯誤

[英]Running Setup.exe created by Inno Setup and get “… '”isxdl.dll' was not found." error

編譯了一個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(可能是由於截至2011年5月20日,在Inno Setup 3rd Party Tools頁面上未列出ISTool),但這仍然使相關代碼保留在我的腳本中,該腳本可以使用創新設置。

經過一些搜索和試驗,我自己找到了問題。 顯然,我曾經安裝過“ 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(可能是由於2011年5月20日未在“ Inno Setup 3rd Party Tools”頁面上列出ISTool),但這仍然使相關代碼保留在我的腳本中,隨后可以正常編譯了使用“ Inno Setup”。

為了解決這個問題,我剛剛刪除了包含對“ _isxdl”的引用的代碼。

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

ISXDL.DLL的源代碼可以在“ 項目頁面”上找到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM