Inno Setup 从输入用户解压文件

约翰·多伊

我尝试解压缩从我的存储库下载的安装文件。我找到了这个代码:
How to get Inno Setup to unzip a file it installed (all as part of the one installation process)

但是我需要在自定义页面中从用户输入有关存储库中应用程序版本的信息,下载并尝试解压缩。如何从输入发送到值ExtractMe('{tmp}\INPUT FROM USER VERSION.zip', '{app}\');

begin
  {Page for input Version}
  UserPage := CreateInputQueryPage(wpWelcome,
    'Number of Version', 'example : 1.8.20',
    'Program will download your input');
  UserPage.Add('Version:', False);
  UserPage.Values[0] := GetPreviousData('Version', '1.8.20');
end;

{Called when the user clicks the Next button}
function NextButtonClick(CurPageID: Integer): Boolean;
var
  Version: string;
  FileURL: string;
begin
  if CurPageID = wpReady then
  begin
    Version := UserPage.Values[0];
    {Download}

    FileURL := Format('http://127.0.0.1/repository/ia/ats-apps/ia-client.zip/%s/ia-client.zip-%0:s.zip', [Version]); <-- FROM HERE TO BELOW
    idpAddFile(FileURL, ExpandConstant(Format('{tmp}\%s.zip', [Version])));
    idpDownloadAfter(wpReady);
  end;
  Result := True;
end;

procedure unzip(src, target: AnsiString);
external 'unzip@files:unzipper.dll stdcall delayload';

procedure ExtractMe(src, target : AnsiString);
begin
  unzip(ExpandConstant(src), ExpandConstant(target));
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then 
  begin
    ExtractMe('{tmp}\INPUT FROM USER VERSION.zip', '{app}\'); <--HERE
  end;
end;

谢谢你的提示。

马丁·普里克里尔

与您已经在使用的方式相同NextButtonClick:阅读UserPage.Values[0].

ExtractMe(Format('{tmp}\%s.zip', [UserPage.Values[0]]), '{app}\');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用户输入后 Inno Setup 向导更改页面

来自分类Dev

Inno Setup用户主路径

来自分类Dev

在Inno Setup中将输入的文本保存到TXT文件

来自分类Dev

在Inno Setup中将输入的文本保存到TXT文件

来自分类Dev

Inno Setup查找子文件夹

来自分类Dev

Inno Setup –更新之前压缩本地文件

来自分类Dev

在Inno Setup中复制隐藏文件

来自分类Dev

Inno Setup拒绝设置某些文件的权限

来自分类Dev

在Inno Setup中创建ZIP文件

来自分类Dev

提供Inno Setup下载功能的文件大小

来自分类Dev

Inno Setup:从测试文件中删除空行

来自分类Dev

Inno Setup Compiler:如何修改文件内容

来自分类Dev

Inno Setup查找子文件夹

来自分类Dev

Inno Setup,检测参数文件是否存在?

来自分类Dev

Inno setup 只删除文件夹

来自分类Dev

如何解压缩Inno Setup安装程序

来自分类Dev

使用IDP下载.zip文件:下载用于Inno Setup的插件,并将其解压缩

来自分类Dev

Inno Setup CreateInputQueryPage在输入框之间插入文本

来自分类Dev

Inno Setup CreateInputQueryPage在输入框之间插入文本

来自分类Dev

Inno Setup 在输入无效时禁用 Next 按钮

来自分类Dev

是否可以允许用户在Inno Setup中跳过TInputDirWizardPage?

来自分类Dev

Inno Setup仅返回用户指定的命令行开关

来自分类Dev

Inno Setup:确保用户已阅读“信息”页面

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

使用带有Signonce标志的Inno Setup签名文件

来自分类Dev

Inno Setup:在卸载过程中从安装程序读取文件

来自分类Dev

Inno Setup通过文件循环并注册每个.NET dll

来自分类Dev

Inno Setup-在复制文件之前正确停止服务

Related 相关文章

热门标签

归档