Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inno setup 在Inno安装程序中显示从下载的ZIP文件提取的许可证_Inno Setup - Fatal编程技术网

Inno setup 在Inno安装程序中显示从下载的ZIP文件提取的许可证

Inno setup 在Inno安装程序中显示从下载的ZIP文件提取的许可证,inno-setup,Inno Setup,如何使用在[code]部分下载的文件,然后在[Run]部分解压,作为要安装的文件 这是我的密码。问题是,我希望在下载完成后提取zip文件。我想我的代码里没有这个。因为当我键入此命令时,会出现一个错误: 在 [Setup] LicenseFile={tmp}\apache-tomcat-9.0.0.M13\LICENSE InfoBeforeFile={tmp}\apache-tomcat-9.0.0.M13\NOTICE InfoAfterFile={tmp}\apache-tomcat-9.0

如何使用在
[code]
部分下载的文件,然后在
[Run]
部分解压,作为要安装的文件

这是我的密码。问题是,我希望在下载完成后提取zip文件。我想我的代码里没有这个。因为当我键入此命令时,会出现一个错误:

[Setup]
LicenseFile={tmp}\apache-tomcat-9.0.0.M13\LICENSE
InfoBeforeFile={tmp}\apache-tomcat-9.0.0.M13\NOTICE
InfoAfterFile={tmp}\apache-tomcat-9.0.0.M13\RELEASE-NOTES

我遇到编译错误,比如文件不存在

如何将下载和提取的文件用作许可证和发行说明

我不确定.zip文件是否在我想要提取的阶段被提取。以下是我根据以下问题编译的代码:

#包括
[设置]
LicenseFile=C:\..\Desktop\x64\apache-tomcat-9.0.0.M13\LICENSE
InfoBeforeFile=C:\…\x64\apache-tomcat-9.0.0.M13\NOTICE
InfoAfterFile=C:\…\x64\apache-tomcat-9.0.0.M13\RELEASE-NOTES
DisableWelcomePage=否
[档案]
来源:“C:\…\x64\apache-tomcat-9.0.0.M13\*”;DestDir:“{app}”;标志:ignoreversion recursesubdirs createallsubdirs
资料来源:“7za.exe”;DestDir:“{tmp}”;标志:deleteafterinstall;
[守则]
程序初始化;
开始
idpAddFile('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');
idpDownloadAfter(欢迎使用);
结束;
[运行]
文件名:{tmp}\7za.exe;参数:“x{tmp}\apache-tomcat-9.0.0.M13-windows-x64.zip-o{app}\*-r-aoa”;标志:runhidden runascurrentuser;
  • 通过设置假许可证文件来启用“许可证”页面
  • 在欢迎页面之后下载带有许可证的ZIP文件(您必须明确启用它)
  • 在下载页面的“下一步”按钮处理程序中,提取ZIP文件并加载许可证(您必须对此进行编码,不能使用
    [Run]
    部分)
代码使用一个
解压
函数,该函数使用
Shell.Application
。如果您喜欢外部解压应用程序,可以使用
Exec
函数在调用
unzip
的同一位置执行它

#包括“idp.iss”
[设置]
DisableWelcomePage=否
LicenseFile=false.txt
常数
TomcatVersion='9.0.0.M13';
变量
TomcatZipPath:string;
过程初始化Wizard();
变量
TomcatZipUrl:字符串;
TomcatZipFile:字符串;
开始
TomcatZipFile:='apachetomcat-'+TomcatVersion+'-windows-x64.zip';
TomcatZipPath:=ExpandConstant('{tmp}\'+tomcatzippfile);
TomcatZipUrl:=
'http://www-us.apache.org/dist/tomcat/tomcat-9/v“+TomcatVersion+
“/bin/”+TomcatZipFile;
idpAddFile(tomcatzippur、TomcatZipPath);
idpDownloadAfter(欢迎使用);
结束;
函数NextButtonClick(CurPageID:Integer):布尔值;
开始
如果CurPageID=IDPForm.Page.ID,则
开始
idpShowDetails(假);
IDPForm.DetailsButton.Visible:=False;
WizardForm.NextButton.Enabled:=False;
WizardForm.BackButton.Visible:=False;
WizardForm.CancelButton.Enabled:=False;
尝试
IDPForm.TotalProgressLabel.Caption:=“正在提取文件…”;
解压(TomcatZipPath,ExpandConstant({tmp}');
最后
WizardForm.BackButton.Visible:=真;
WizardForm.NextButton.Enabled:=True;
WizardForm.CancelButton.Enabled:=True;
结束;
WizardForm.LicenseMoom.Lines.LoadFromFile(
ExpandConstant({tmp}\apache-tomcat-9.0.0.M13\LICENSE');
结束;
结果:=真;
结束;


是否要将下载的ZIP文件“安装”(=复制)到{app}中?为什么?无论如何,你为什么不直接下载到
{app}
,而不是
{tmp}
?我今天晚些时候会接受这个答案。你仍然需要解释这个问题。今天下午我会相应地更正我的其他帖子。我确实想安装下载的zip。我做这件事有困难。此外,我不能格式化问题,使其看起来像样,因为我在我的手机上。今天下午,我将在我的帖子上把所有未完成的部分都捆绑起来。我在这里遇到的问题是,解压似乎发生在安装向导页面中,因为它位于运行部分。我需要它在下载完成后,在许可协议之前解压,因为我要从下载的zip中获取许可协议。我同意,但是我如何将它与java安装集成,这也在下一步按钮中,即使我需要java安装完成,然后获得此屏幕。我试着把thwm放在一起,它编译了,但当按下第一个“下一步”按钮时,我出现了一个错误,这是一个新问题。问吧。并向我们展示您的新代码。不过,您可能只是想将
如果CurPageID=DownloadPage.ID,那么
从更改为
如果CurPageID=wpplicense,那么
,不是吗?尝试过了,遇到了问题。我稍后再试试。Thabk非常感谢您对inno设置的帮助。我很快就要结束了。
[Files]
Source: "{tmp}\apache-tomcat-9.0.0.M13\bin\tomcat9.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\...\apache-tomcat-9.0.0.M13\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs