SO に関するいくつかの投稿の推奨に従って、InnoTools Downloader を使用して、Inno セットアップのインストール スクリプト中にアプリのサード パーティの依存関係をインストールしようとしました。
残念ながら、InnoTools Downloader は数年間更新されておらず、現在の Inno Tools セットアップ (現在、私のマシンの 5.5.2 (u)) と互換性がないように見え始めています。ITD の PChar パラメータは PAnsiChar パラメータに置き換えられました。さまざまな ITD_xxx プロシージャを実行しようとすると、さまざまな程度の失敗が発生します。
ITD_DownloadFiles
型の不一致エラーが発生し、Inno Setup でコンパイルされませんITD_DownloadFile
コンパイルされますが、表示されるファイルの長さは 6KB であり、実行できません。
新しい Inno (post-5.3.0) Unicode バージョンで ITP を実行した人はいますか? または、別の解決策を探す必要がありますか?
編集 物事を少し明確にするために、it_download.iss ファイルにアクセスして、PChar のすべてのインスタンスを PAnsiChar に置き換えてみました。これにより、最初に ITD をセットアップ スクリプトに統合しようとしたときのコンパイル エラーを回避できました。
Inno スクリプトのサンプル セクションを次に示します。
[Code]
procedure InitializeWizard();
begin
ITD_Init; // initialize the InnoTools Downloader
// install 3rd party tool (ex. Git) from the internet.
if ITD_DownloadFile('http://git-scm.com/download/win',expandconstant('{tmp}\GitInstaller.exe'))=ITDERR_SUCCESS then begin
MsgBox(expandconstant('{tmp}\GitInstaller.exe'), mbInformation, MB_OK);
Exec(ExpandConstant('{tmp}\GitInstaller.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, tmpResult);
end
end;
これを実行すると、ファイルを「ダウンロード」して保存した場所を示すダイアログが表示されます。私のマシンでは、c:\Users\\AppData\Local\Temp のサブディレクトリにあります。http://git-scm.com/download/winからダウンロードしたファイルは現在 15,221KB ですが、このファイルは 6KB です。
このITP_DownloadAfter
方法でも同様の結果が得られます。