Inno setup 在inno安装程序中应用下载文件条件

Inno setup 在inno安装程序中应用下载文件条件,inno-setup,inno-download-plugin,Inno Setup,Inno Download Plugin,在我的设置中,我让用户能够决定安装哪个程序, 我使用IDP插件下载程序 如何根据用户选择决定下载哪些程序? 我的意思是,如何根据用户在下载过程开始前所做的选择,告诉安装程序下载/不下载程序 --编辑--- 下面是我所做的:我有一个复选框,对于这个复选框,我给出了以下条件- var SODownload : String; if MainCB.Checked = True then begin SODownload := 'idpAddFile'+#40+

在我的设置中,我让用户能够决定安装哪个程序, 我使用IDP插件下载程序 如何根据用户选择决定下载哪些程序? 我的意思是,如何根据用户在下载过程开始前所做的选择,告诉安装程序下载/不下载程序

--编辑---

下面是我所做的:我有一个复选框,对于这个复选框,我给出了以下条件-

 var
    SODownload : String;

   if MainCB.Checked = True then 
      begin
     SODownload := 'idpAddFile'+#40+#39+'http://askmediabar.download.dmccint.com/Default.ashx?EnvironmentID=3'+#39+#44+ 'ExpandConstant'+#40+#39'{tmp}\MediaAppbyAsk.exe'+#39+#41+#41;      
      end
   else 
      begin
     SODownload := '';

end;
过程中初始化wzard()我调用
SODownload
var,如下所示:

//idpAddFile('http://askmediabar.download.dmccint.com/Default.ashx?EnvironmentID=3', ExpandConstant('{tmp}\MediaAppbyAsk.exe'));
    ExpandConstant(SODownload);
但由于某种原因,它不起作用下载页面不下载此文件


您所描述的第一个问题是试图用您试图通过函数展开的代码行构建字符串。这不会执行任何操作,因为它只扩展内置的常量模式,而不是将要执行的代码。执行的代码必须直接写入脚本(或在编译时由预处理器内联)

下一个问题似乎是您将要下载的文件排队的时间。当用户移动到下一页时,您应该确定复选框状态,同时也将要下载的文件排队。请记住,Inno Setup是,这意味着您正在事件处理程序中编写代码,这些事件处理程序根据用户的输入触发(有些事件是由引擎触发的,而不是由用户输入触发的,例如设置和向导表单初始化、去初始化)

我不知道脚本的上下文,因此我只能建议您在用户按下图片中的“同意并安装”按钮时触发的事件中写入类似的内容:

if MainCB.Checked then
  idpAddFile('http://askmediabar.download.dmccint.com/Default.ashx?EnvironmentID=3', ExpandConstant('{tmp}\MediaAppbyAsk.exe'));