Installation 在Inno安装程序的代码部分下载程序后运行程序

Installation 在Inno安装程序的代码部分下载程序后运行程序,installation,inno-setup,pascalscript,inno-download-plugin,Installation,Inno Setup,Pascalscript,Inno Download Plugin,如何运行通过Internet下载的应用程序,在代码部分使用,并等待该应用程序完成运行。我已经使用InnoTools downloader下载了这两个文件,我想在第二个文件下载完成后运行下载,或者jdk-8u111-windows-x64.exe,然后继续安装 [代码] 过程初始化Wizard();  开始 ITD_Init; ITD_AddFile('http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.0.M13/bin/apache-tomca

如何运行通过Internet下载的应用程序,在代码部分使用,并等待该应用程序完成运行。我已经使用InnoTools downloader下载了这两个文件,我想在第二个文件下载完成后运行下载,或者
jdk-8u111-windows-x64.exe
,然后继续安装

[代码]
过程初始化Wizard(); 
开始
ITD_Init;
ITD_AddFile('http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.0.M13/bin/apache-tomcat-9.0.0.M13-windows-x64.zip,expandconstant({tmp}\apache-tomcat-9.0.0.M13-windows-x64.zip');
ITD_下载(1); 
ITD_AddFile('http://files.downloadnow-1.com/s/software/15/62/36/39/jdk-8u111-windows-x64.exe?token=1479511171_b51e94edd4e002c94fd60a570a7dd270&fileName=jdk-8u111-windows-x64.exe',expandconstant('{tmp}\jdk-8u111-windows-x64.exe');
ITD_下载(2);      
结束;

使用其他下载插件,而不是ITD(原因请参见下文)


支持本地下载。看


如果您仍使用较旧版本的Inno安装程序,请使用

当您包含
idp.iss
时,它定义了一个全局
IDPForm
结构。其
Page
字段是
TWizardPage
,表示下载页面。下载完成后,在
NextButtonClick
中使用其ID运行下载的文件(下载页面上的“下一步”按钮自动“按下”):

#包括
[守则]
程序初始化;
开始
idpAddFile(
'https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.0.M13/bin/' +
“apache-tomcat-9.0.0.M13-windows-x64.zip”,
ExpandConstant('{tmp}\apache-tomcat-9.0.0.M13-windows-x64.zip');
idpAddFile(
'https://www.example.com/jdk-8u111-windows-x64.exe',
ExpandConstant({tmp}\jdk-8u111-windows-x64.exe');
idpDownloadAfter(wpSelectDir);
结束;
函数NextButtonClick(CurPageID:Integer):布尔值;
变量
结果代码:整数;
文件名:字符串;
开始
如果CurPageID=IDPForm.Page.ID,则
开始
文件名:=ExpandConstant('{tmp}\jdk-8u111-windows-x64.exe');
结果:=Exec(文件名,,'',软件显示,ewWaitUntilTerminated,结果代码);
如果没有结果的话
开始
MsgBox('无法执行子安装程序',mbError,MB_OK);
结束
其他的
开始
结果:=(结果代码=0);
如果没有结果的话
开始
MsgBox(“子安装程序失败”,mbError,MB_OK);
结束
结束;
结束
其他的
开始
结果:=真;
结束;
结束;

还有


虽然您可以使用InnoTools Downloader实现相同的功能,但应避免:

  • 它已经过时,不再维护
  • 不支持Unicode Inno设置(新项目不使用Ansi Inno设置)
  • 不支持HTTPS
  • 它的下载页面
无论如何,为了完整性:
ITD\u DownloadAfter
返回
TWizardPage
,表示下载页面。下载完成后,在
NextButtonClick
中使用其ID运行下载的文件(下载页面上的“下一步”按钮自动“按下”):

var
下载网页:TWizardPage;
过程初始化Wizard();
开始
ITD_Init;
ITD_AddFile(
'http://www.example.com/jdk-8u111-windows-x64.exe',
ExpandConstant({tmp}\jdk-8u111-windows-x64.exe');
下载页面:=ITD_DownloadAfter(wpSelectDir);
结束;
函数NextButtonClick(CurPageID:Integer):布尔值;
变量
结果代码:整数;
开始
如果CurPageID=DownloadPage.ID,则
开始
结果:=
执行官(
ExpandConstant(“{tmp}\jdk-8u111-windows-x64.exe”),
'','',SW_SHOW,EWwaitUnterminated,ResultCode);
如果没有结果的话
开始
MsgBox('无法执行子安装程序',mbError,MB_OK);
结束
其他的
开始
结果:=(结果代码=0);
如果没有结果的话
开始
MsgBox(“子安装程序失败”,mbError,MB_OK);
结束
结束;
结束
其他的
开始
结果:=真;
结束;
结束;