Запущенный Setup.exe, созданный Inno Setup, и ошибка «...» isxdl.dll «не найдена.» - PullRequest
1 голос
/ 20 мая 2011

Скомпилирован сценарий установки Inno (IS v5.4.2), но при запуске результирующего Setup.exe появилось диалоговое окно с содержимым: Внутренняя ошибка: ExtractTeilitaryFile: файл "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 по состоянию на 20 мая 2011 г. не указан в Inno Setup *)1014 * Сторонние инструменты * (1015 * стр.), Но это оставило соответствующий код в моем скрипте, который скомпилирован нормально с помощью Inno Setup.

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Я обнаружил проблему сам после небольшого поиска и экспериментов. Очевидно, в какой-то момент (то есть год или более) я установил «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 (возможно, это связано с тем, что по состоянию на 20 мая 2011 г. ISTool не указан на странице Inno Setup Сторонние инструменты ), но при этом остался соответствующий код все еще в моем скрипте, который впоследствии скомпилирован нормально, используя "Inno Setup".

Чтобы исправить это, я просто удалил код, содержащий ссылки на "_isxdl".

1 голос
/ 30 мая 2011

Чтобы использовать перечисленные функции, вы должны включить ISXDL.DLL в ваш раздел [Files].

Исходный код ISXDL.DLL можно найти на странице проекта .

...