【问题标题】:Inno Setup can't download big files from Google Drive [duplicate]Inno Setup 无法从 Google Drive 下载大文件 [重复]
【发布时间】:2020-04-13 22:27:42
【问题描述】:

这是我的 Inno 设置代码。我要下载的“Scripts.rar”文件大约为 1 GB。如果我放置一个 25MB 的文件,它就可以工作。使用这个文件,它只是继续安装离线文件,跳过大“Scripts.rar”的下载。

我需要使用此设置下载非常大的文件。它们大约有 20 个文件,每个文件的大小为 1-3GB。 InnoSetup 给我带来了巨大的限制。

#pragma include __INCLUDE__ + ";" + ReadReg(HKLM, "Software\Mitrich Software\Inno Download Plugin", "InstallDir")
#pragma include __INCLUDE__ + ";" + "c:\lib\InnoDownloadPlugin"
#include <idp.iss>

[Code]
      idpAddFile('https://drive.google.com/uc?export=download&confirm=hoYh&id=1UnIIBtjhDqtNuSKyeF5ce0grVlTnIIyz', ExpandConstant('{tmp}\Scripts.rar'));
      //Download after "Ready" wizard page 
      idpDownloadAfter(wpReady);
    end;

[files]
Source: "C:\Users\Dedric\Desktop\New folder (3)\GTA Compton Compiler\UnRAR.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
; NOTE: Don't use "Flags: ignoreversion" on any shared system files


[Run]
Filename: "{tmp}\UnRAR.exe"; Parameters: "x ""{tmp}\Scripts.rar"" ""{code:GetDirPath}"""
Filename: "{code:GetDirPath}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

【问题讨论】:

    标签: download inno-setup innodb pascal


    【解决方案1】:

    当您尝试手动下载文件时,浏览器如下所示:

    它说:

    Google 云端硬盘无法扫描此文件中的病毒。

    Scripts.rar (311M) 太大,Google 无法扫描病毒。你还想下载这个文件吗?

    这就是它无法下载的原因。它需要用户交互同意下载文件而不执行病毒扫描。

    如果有任何方法可以解决这个问题,那将是 Google 云端硬盘的问题。但忽略显示警告可能违反他们的政策。这不是 Inno Setup 问题。

    更新

    在互联网上快速搜索发现article 上面写着:

    右键单击仍然下载,然后单击检查元素

    它还说:

    "/uc?"之前添加"https://drive.google.com"

    所以你的链接变成了:

    https://drive.google.com/uc?export=download&confirm=z8LQ&id=1UnIIBtjhDqtNuSKyeF5ce0grVlTnIIyz
    

    在您的脚本中使用该链接。

    【讨论】:

    • 如果您查看问题中的 URL,我很确定这正是 OP 所做的。它不起作用。 OP 和你的 URL 都不适合我。它可能是用户独有的。
    • @MartinPrikryl 你的意思是“如果我将它作为文件添加到 Inno Setup 中下载它不起作用”?还是链接失效了?您可以通过右键单击“仍然下载”按钮并比较 URL 来验证后者。它们有什么不同吗?
    • @MartinPrikryl 我已经比较了我的链接和他的链接,它们完全相同。但是,cmets 中的链接(我点击的那个)会将您带到https://drive.google.com/uc?export=download&amp;confirm=no_antivirus&amp;id=1UnIIBtjhDqtNuSKyeF5ce0grVlTnIIyz,这不是同一个链接。
    • @MartinPrikryl 另外,我的回答基于您的 cmets 以及您在 cmets 中提供的链接。所以我没有意识到他已经以正确的方式做到了。无论如何,我留下我的答案。 :)
    • 当然,我已经尝试了所有的 URL。我并不是说它们是相同的。我的意思是你们都以同样的方式得到它们。关键是 Google Drive 显然会生成一个特定于会话的“确认”参数。所以你们都尝试过相同的方法(导致不同的“确认”参数)。在这两种情况下,它都会导致无法在安装程序中使用的 URL。
    猜你喜欢
    • 1970-01-01
    • 2022-01-03
    • 2021-03-19
    • 2023-03-11
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多