【发布时间】:2019-08-28 23:35:17
【问题描述】:
如何将在[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
下
[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
我收到编译错误,例如文件不存在。
如何使用我下载并提取的文件作为许可证和发行说明?
我不确定 .zip 文件是否在我想要提取的阶段被提取。这是我根据这些问题编译的代码:
- Is there a way to extract .zip files in Inno Setup after a certain page is done?
- Running a program after it is downloaded in Code section in Inno Setup
#include <idp.iss>
[Setup]
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=no
[Files]
Source: "C:\...\x64\apache-tomcat-9.0.0.M13\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "7za.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall;
[Code]
procedure InitializeWizard;
begin
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(wpWelcome);
end;
[Run]
Filename: {tmp}\7za.exe; Parameters: "x {tmp}\apache-tomcat-9.0.0.M13-windows-x64.zip -o{app}\ * -r -aoa"; Flags: runhidden runascurrentuser;
【问题讨论】:
-
您想将下载的 ZIP“安装”(=复制)到 {app} 吗?为什么?反正为什么不直接下载到
{app},而不是{tmp}呢? -
今天晚些时候我会接受这个答案。
-
而且这个问题还需要你解释一下。
-
今天下午我会相应地更正我的其他帖子。我确实想安装下载的 zip。我很难做到这一点。我也无法格式化问题,所以它看起来像样,因为我在我的手机上。今天下午,我将把我们所有的松散话题都绑在我的帖子上。
-
我在这里遇到的问题也是,解压缩似乎是在安装向导页面期间发生的,因为它在运行部分。我需要在下载完成后,在许可协议之前解压缩它,因为我要从下载的 zip 中获取许可协议。
标签: inno-setup