【问题标题】:Inno Download Plugin - Only download updated filesInno Download Plugin - 只下载更新的文件
【发布时间】:2016-04-11 14:45:26
【问题描述】:

我正在尝试找到使用 Inno Setup 和 Inno Download Plugin (IDP) 更新程序的最佳方式。我的程序大小约为 3.5gb,因此找到一种方法让用户不必每次发布 100mb 更新时都下载 3.5gb 非常重要。

目前,我让 IDP 使用以下代码从我的 FTP 下载我的程序的所有文件:

procedure InitializeWizard();
begin
    idpSetLogin('%%username%%', '%%password%%');
    {Add all files in URL, including subdirectories}

    idpAddFtpDir('%%myftp%%','', ExpandConstant('{tmp}'), true);

    idpDownloadAfter(wpReady);
end;

向用户提供更新以便他们只需下载更新的文件而不是全部 3.5gb 的最佳方式是什么?

【问题讨论】:

    标签: inno-setup pascalscript inno-download-plugin


    【解决方案1】:

    Inno 下载插件没有 API 来检索服务器上文件的时间戳。

    所以你必须用另一种方式解决它。

    在 Inno Setup 中最容易实现的方法是拥有一个在线服务(比如一个简单的 PHP 脚本),安装程序将使用已安装程序的版本号和正在安装的程序的版本号调用该服务。该服务将列出需要更新的文件,安装程序将采取相应措施。或者,您可以让安装程序发送所有已安装文件的时间戳,并让服务逐一检查文件,列出需要更新的文件。

    如果你不能建立这样的在线服务,另一种选择是有一个静态纯文本文件,其中包含文件列表及其时间戳。将文件上传到 FTP 服务器。每次更新服务器上的文件时,都需要更新该文件。安装程序将下载文件,对其进行解析并自行决定哪些文件需要更新。

    【讨论】:

    • 感谢您的帮助。看起来我需要对 PHP 脚本进行更多研究,以便它列出所有需要根据用户当前版本更新的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2018-03-31
    • 1970-01-01
    • 2017-12-11
    • 2013-12-23
    • 2013-01-18
    • 1970-01-01
    相关资源
    最近更新 更多