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, для просмотра которого требуется разблокировка.

Другие вопросы по тегам