Inno setup: установить файл из Интернета
Я использую Inno Setup для распространения моего приложения. Можно ли проверить Inno Script для определенного условия и загрузить и установить некоторые файлы из Интернета, если это необходимо.
4 ответа
Да, есть библиотека InnoTools Downloader, в которой есть примеры, которые делают это в значительной степени. Они могут быть обусловлены чем угодно, используя обычный код Inno.
Inno Setup 6.1 имеет встроенную поддержку загрузок. Никаких сторонних решений больше не требуется.
Проверить Examples\CodeDownloadFiles.iss
в папке установки Inno Setup.
Важными частями примера являются:
[Files]
; These files will be downloaded
Source: "{tmp}\innosetup-latest.exe"; DestDir: "{app}"; Flags: external
Source: "{tmp}\ISCrypt.dll"; DestDir: "{app}"; Flags: external
[Code]
var
DownloadPage: TDownloadWizardPage;
function OnDownloadProgress(const Url, FileName: String; const Progress, ProgressMax: Int64): Boolean;
begin
if Progress = ProgressMax then
Log(Format('Successfully downloaded file to {tmp}: %s', [FileName]));
Result := True;
end;
procedure InitializeWizard;
begin
DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), @OnDownloadProgress);
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
if CurPageID = wpReady then begin
DownloadPage.Clear;
DownloadPage.Add('https://jrsoftware.org/download.php/is.exe', 'innosetup-latest.exe', '');
DownloadPage.Add('https://jrsoftware.org/download.php/iscrypt.dll', 'ISCrypt.dll', '2f6294f9aa09f59a574b5dcd33be54e16b39377984f3d5658cda44950fa0f8fc');
DownloadPage.Show;
try
try
DownloadPage.Download;
Result := True;
except
SuppressibleMsgBox(AddPeriod(GetExceptionMessage), mbCriticalError, MB_OK, IDOK);
Result := False;
end;
finally
DownloadPage.Hide;
end;
end else
Result := True;
end;
Альтернативные варианты см. В разделе « Запуск программы после ее загрузки» в разделе «Код» Inno Setup.
Inno Скачать плагин от Mitrich Software.
- Это скрипт InnoSetup и DLL, которые позволяют загружать файлы как часть вашей установки.
- Он поддерживает FTP, HTTP и HTTPS.
- Это своего рода замена встроенного загрузчика InnoTools. Требуется всего несколько изменений.
- Он обеспечивает приличный дисплей загрузки и поддержку HTTPS и зеркал.
Находящийся на Inno Third Party один очень похож по объему и стилю на плагин загрузки Inno, DWinsHs.
В комплекте с простым и интуитивно понятным файлом chm, для просмотра которого требуется разблокировка.