Inno Setup Загрузка файла из местоположения на основе пользовательского ввода
Мне интересно, как отправить вклад от UserPage
в idpAddFile
чтобы скачать его с помощью Inno Download Plugin. После загрузки я хотел бы использовать этот zip и установить приложение.
На данный момент у меня есть это:
var
UserPage: TInputQueryWizardPage;
procedure InitializeWizard;
begin
{Page for input Version}
UserPage := CreateInputQueryPage(wpWelcome,
'Number of Version', 'example : 1.8.20',
'Program will download your input');
UserPage.Add('Version:', False);
UserPage.Values[0] := GetPreviousData('Version', '1.8.20');
{Download file from input}
idpAddFile(
'127.0.0.1/repository/GU/my-apps/app.zip/{input}/ia-client.zip-{input}.zip',
ExpandConstant('{tmp}\{input}.zip}'));
idpDownloadAfter(wpReady);
end;
спасибо за предложение и помощь
1 ответ
Решение
Позвоните idpAddFile
только перед началом загрузки, из NextButtonClick(wpReady)
, когда вы уже знаете версию, и у пользователя больше нет шансов изменить ее:
function NextButtonClick(CurPageID: Integer): Boolean;
var
Version: string;
FileURL: string;
begin
if CurPageID = wpReady then
begin
Version := UserPage.Values[0];
FileURL := Format('http://www.example.com/path/%s/app-%0:s.zip', [Version]);
idpAddFile(FileURL, ExpandConstant(Format('{tmp}\app-%s.zip', [Version])));
end;
Result := True;
end;