14

InnoSetupを使用してアプリケーションを配布しています。Inno Scriptで特定の条件をチェックインし、必要に応じてインターネットからファイルをダウンロードしてインストールすることは可能ですか。

4

4 に答える 4

16

MitrichSoftwareによるInnoダウンロードプラグイン。

  • これはInnoSetupスクリプトおよびDLLであり、インストールの一部としてファイルをダウンロードできます。
  • FTP、HTTP、HTTPSをサポートしています。
  • これは、InnoToolsDownloaderの一種のドロップイン代替品です。必要な変更はわずかです。
  • それはまともなダウンロード表示とHTTPSミラーのサポートをもたらします。

例:

#include <idp.iss>

[Files]
Source: "{tmp}\file.zip"; DestDir: "{app}"; Flags: external; ExternalSize: 1048576

[Code]
procedure InitializeWizard();
begin
  idpAddFileSize('http://127.0.0.1/file.zip', ExpandConstant('{tmp}\file.zip'), 1048576);

  idpDownloadAfter(wpReady);
end.
于 2014-03-28T13:45:08.527 に答える
11

はい、 InnoTools Downloaderと呼ばれるライブラリがあり、これをほぼ実行するサンプルがあります。それらは、通常のInnoコードを使用して必要なものに条件付けできます。

于 2011-07-31T23:00:46.737 に答える
11

Inno Setup 6.1には、ダウンロードのサポートが組み込まれています。サードパーティのソリューションはもう必要ありません。

Examples\CodeDownloadFiles.issInnoSetupインストールフォルダを確認してください。

例の重要な部分は次のとおりです。

[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;

ここに画像の説明を入力してください


別の方法については、InnoSetupの「コード」セクションでダウンロードした後のプログラムの実行を参照してください。

于 2021-02-08T11:09:04.760 に答える
1

Innoサードパーティにあるのは、スコープとスタイルがInnoダウンロードプラグインのDWinsHsと非常に似ているものです表示するにはブロックを解除
する 必要がある、簡単で直感的なchmファイルに含まれています。

于 2017-06-22T07:31:33.787 に答える