Inno setup Inno安装程序根据用户输入从位置下载文件

Inno setup Inno安装程序根据用户输入从位置下载文件,inno-setup,pascalscript,inno-download-plugin,Inno Setup,Pascalscript,Inno Download Plugin,我想知道如何将输入从UserPage发送到idpAddFile下载。下载后,我想使用该zip和安装应用程序 现在我有这个: var UserPage:TInputQueryWizardPage; 程序初始化; 开始 {输入版本的页面} UserPage:=CreateInputQueryPage(wpWelcome, “版本号”,“示例:1.8.20”, “程序将下载您的输入”); 添加('Version:',False); UserPage.Values[0]:=GetPreviousData

我想知道如何将输入从
UserPage
发送到
idpAddFile
下载。下载后,我想使用该zip和安装应用程序

现在我有这个:

var
UserPage:TInputQueryWizardPage;
程序初始化;
开始
{输入版本的页面}
UserPage:=CreateInputQueryPage(wpWelcome,
“版本号”,“示例:1.8.20”,
“程序将下载您的输入”);
添加('Version:',False);
UserPage.Values[0]:=GetPreviousData('Version','1.8.20');
{从输入下载文件}
idpAddFile(
'127.0.0.1/repository/GU/my apps/app.zip/{input}/ia client.zip-{input}.zip',
ExpandConstant({tmp}\{input}.zip}');
idpDownloadAfter(wpReady);
结束;

感谢您的建议和帮助

仅在下载开始前,当您已经知道版本,并且用户没有机会再更改版本时,才致电
idpAddFile

函数NextButtonClick(CurPageID:Integer):布尔;
变量
版本:字符串;
FileURL:string;
开始
如果CurPageID=wpReady,则
开始
版本:=UserPage.Values[0];
FileURL:=格式('http://www.example.com/path/%s/app-%0:s.zip',[Version]);
idpAddFile(FileURL,ExpandConstant(格式({tmp}\app-%s.zip',[Version]));
结束;
结果:=真;
结束;

仅在下载开始前调用
idpAddFile
,从,当您已经知道版本并且用户不再有机会更改它时:

函数NextButtonClick(CurPageID:Integer):布尔;
变量
版本:字符串;
FileURL:string;
开始
如果CurPageID=wpReady,则
开始
版本:=UserPage.Values[0];
FileURL:=格式('http://www.example.com/path/%s/app-%0:s.zip',[Version]);
idpAddFile(FileURL,ExpandConstant(格式({tmp}\app-%s.zip',[Version]));
结束;
结果:=真;
结束;

谢谢Martin的回答,我将您的代码粘贴在上面。但在单击next之后,什么也没有发生,ofc I更改了http地址。可能是一些识别错误?感谢您的建议您已经删除了
idpdownloadtafter(wpReady)。它必须留在原来的位置。谢谢:)我希望如此最后一个问题:)如何idpAddFille发送输入?在上面的代码中我粘贴了这个问题。我的答案显示了这一点%s
%0:s
将替换为用户输入-您可以对编辑的
'{tmp}\app.zip'
使用相同的技术。感谢Martin的回答,我将您的代码粘贴到上面。但在单击next之后,什么也没有发生,ofc I更改了http地址。可能是一些识别错误?感谢您的建议您已经删除了
idpdownloadtafter(wpReady)。它必须留在原来的位置。谢谢:)我希望如此最后一个问题:)如何idpAddFille发送输入?在上面的代码中我粘贴了这个问题。我的答案显示了这一点%s
%0:s
将替换为用户输入-您可以对编辑的
'{tmp}\app.zip'
使用相同的技术。