如果使用 Inno 下载插件下载失败,不要阻止安装

问题描述

这是用于在安装过程中下载任何先决条件的代码

#include <idp.iss>

[Code]
function UpdateReadyMemo(Space,NewLine,MemoUserInfoInfo,MemoDirInfo,MemoTypeInfo,MemoComponentsInfo,MemogroupInfo,MemoTasksInfo: String): String;
begin
  idpAddFileSize('<url>',ExpandConstant('{commonappdata}\<my file name>'),<my file size>);
  idpDownloadAfter(wpReady);
end;

但是,如果没有互联网连接,它会禁用“下一步”按钮继续安装。这是对话框,

enter image description here

即使任何下载失败,安装也需要继续。如何解决这个问题?

解决方法

IDP 有 AllowContinue 选项,即使出现错误也允许继续:

procedure InitializeWizard();
begin
  idpSetOption('AllowContinue','1');
end;

请注意,Inno Setup 6.1 具有对下载的本机支持。您可能需要考虑使用它而不是 IDP。请参阅Inno Setup: Install file from Internet


另外,我相信 UpdateReadyMemo 可以被多次调用(当用户从​​“就绪”页面返回时)。因此,您的 idpAddFileSize 还可以多次将文件添加到下载队列。