3

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 日の時点で、ISTool が Inno Setup のサード パーティ ツールページにリストされていないという事実が原因である可能性があります)。イノセットアップ。

4

2 に答える 2

3

少し検索して実験した後、私は自分で問題を見つけました。明らかに、ある時点 (つまり、1 年以上前) に、ISXDL.DLL ファイルを含む "ISTool" をインストールし、"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 日の時点で、ISTool が Inno Setupサード パーティ ツールページにリストされていないという事実が動機になっている可能性があります) が、これにより関連するコードがスクリプトに残ったままになり、その後問題なくコンパイルされました。 「イノセットアップ」を使用。

これを修正するために、「_isxdl」への参照を含むコードを削除しました。

于 2011-05-31T14:23:22.733 に答える
2

リストされた関数を使用するには、セクションに ISXDL.DLL がリストされている必要があります[Files]

ISXDL.DLL のソース コードは、プロジェクト ページにあります。

于 2011-05-30T04:03:01.620 に答える