Installation 仅当用户选择下载时,才使用Inno安装程序下载文件
问题:我想知道如何编写脚本下载第二个文件,这是一个zip文件,但最初在两个zip文件之间进行选择;下载、解压缩并删除压缩文件。zip文件的名称各不相同,但内容的名称与zip不同(名称相同);不需要重命名。这个问题有点像 相关文件通过SourceForge网站下载。这些文件拟用于的程序(克隆)未在SF中列出或已更改用途 在修复了Installation 仅当用户选择下载时,才使用Inno安装程序下载文件,installation,inno-setup,pascalscript,inno-download-plugin,inno-tools-downloader,Installation,Inno Setup,Pascalscript,Inno Download Plugin,Inno Tools Downloader,问题:我想知道如何编写脚本下载第二个文件,这是一个zip文件,但最初在两个zip文件之间进行选择;下载、解压缩并删除压缩文件。zip文件的名称各不相同,但内容的名称与zip不同(名称相同);不需要重命名。这个问题有点像 相关文件通过SourceForge网站下载。这些文件拟用于的程序(克隆)未在SF中列出或已更改用途 在修复了PCharbug之后:我现在可以从2011年开始重新使用这个Inno安装脚本,但我想稍微扩展一下它,但很难做到 #包括ReadReg(HKEY_本地_机器、'Softwar
PChar
bug之后:我现在可以从2011年开始重新使用这个Inno安装脚本,但我想稍微扩展一下它,但很难做到
#包括ReadReg(HKEY_本地_机器、'Software\Sherlock Software\InnoTools\Downloader'、'ScriptPath'、'';
[守则]
过程初始化Wizard();
开始
itd_init;
{设置下载源..}
itd_addfile('http://www.example.com/Textfile.txt,ExpandConstant({tmp}\Textfile.txt');
itd_设置选项('UI_AllowContinue','1');
itd_设置选项('UI_DetailedMode','1');
{显示“准备安装”屏幕后开始下载}
itd_下载后(wpReady);
结束;
过程CurStepChanged(CurStep:TSetupStep);
开始
如果CurStep=ssInstall,则{让我们安装下载的文件}
开始
FileCopy(ExpandConstant({tmp}\Textfile.txt')、ExpandConstant({userappdata}\program_name\Textfile.txt')、false);
结束;
结束;
基于答案的工作代码:
#pragma include uuu include uuu++“+”c:\lib\InnoDownloadPlugin”
[设置]
...
CreateUninstallRegKey=否
#包括
...
[类型]
姓名:全名;说明:“完全安装”
名称:紧凑型;说明:“紧凑型安装”
名称:海关;说明:“自定义安装”;旗帜:iscustom
[组成部分]
名称:abc;说明:“C文件”;类型:全紧凑型定制;旗帜:固定
姓名:hlnj;说明:“HL(推荐)”;类型:海关;旗帜:独家
姓名:hnj;说明:“高频”;类型:海关;旗帜:独家
[档案]
资料来源:“{tmp}\text.net”;DestDir:“{userappdata}\ccc”;旗帜:外部;组成部分:abc
资料来源:“{tmp}\HLNJ.zip”;DestDir:“{userappdata}\ccc”;旗帜:外部;组件:hlnj
资料来源:“{tmp}\HNJ.zip”;DestDir:“{userappdata}\ccc”;旗帜:外部;组成部分:hnj
[守则]
程序初始化;
开始
idpAddFileComp('http://www.example.com/text.net,ExpandConstant({tmp}\text.net'),'abc');
idpAddFileComp('http://www.example.com/SecurityUpdates/HLNJ.zip,ExpandConstant({tmp}\HLNJ.zip'),'HLNJ');
idpAddFileComp('http://www.example.com/SecurityUpdates/HNJ.zip,ExpandConstant({tmp}\HNJ.zip'),'HNJ');
idpDownloadAfter(wpReady);
结束;
过程CurStepChanged(CurStep:TSetupStep);
开始
如果CurStep=ssPostInstall,则
开始
FileCopy(ExpandConstant({tmp}\text.net')、ExpandConstant({userappdata}\ccc\text.net')、false);
FileCopy(ExpandConstant({tmp}\HLNJ.zip')、ExpandConstant({userappdata}\ccc\HLNJ.txt')、false);
FileCopy(ExpandConstant({tmp}\HNJ.zip')、ExpandConstant({userappdata}\ccc\HNJ.txt')、false);
结束;
结束;
在发布了我的答案后,我注意到,尽管您标记了问题,但实际上您正在使用InnoTools Downloader。不要–
另外请注意,Inno Setup 6.1内置了下载支持。使用该API,解决方案将更简单,但与IDP下面所示的不同。看
在Inno下载插件安装的
examples
文件夹中,有components1.iss
和components2.iss
示例
第一个演示如何使用idpAddFileComp
在选择组件时有条件地下载文件
我正在发布一个完整的示例:
; Uncomment one of following lines, if you haven't checked "Add IDP include path to ISPPBuiltins.iss" option during IDP installation:
;#pragma include __INCLUDE__ + ";" + ReadReg(HKLM, "Software\Mitrich Software\Inno Download Plugin", "InstallDir")
;#pragma include __INCLUDE__ + ";" + "c:\lib\InnoDownloadPlugin"
[Setup]
AppName = My Program
AppVersion = 1.0
DefaultDirName = {pf}\My Program
DefaultGroupName = My Program
OutputDir = userdocs:Inno Setup Examples Output
#include <idp.iss>
[Types]
Name: full; Description: "Full installation"
Name: compact; Description: "Compact installation"
Name: custom; Description: "Custom installation"; Flags: iscustom
[Components]
Name: app; Description: "My Program"; Types: full compact custom; Flags: fixed
Name: help; Description: "Help files"; Types: full
Name: src; Description: "Source code"; Types: full
[Files]
Source: "{tmp}\app.exe"; DestDir: "{app}"; Flags: external; ExternalSize: 1048576; Components: app
Source: "{tmp}\help.chm"; DestDir: "{app}"; Flags: external; ExternalSize: 1048576; Components: help
Source: "{tmp}\src.zip"; DestDir: "{app}"; Flags: external; ExternalSize: 1048576; Components: src
[Icons]
Name: "{group}\My Program"; Filename: "app.exe"; Components: app
Name: "{group}\Help file"; Filename: "help.chm"; Components: help
Name: "{group}\{cm:UninstallProgram,My Program}"; Filename: "{uninstallexe}"
警告:传递给
idpAddFileComp
的组件名称必须是小写的(实际的组件名称可以使用大写)。具有新的下载临时文件
支持功能,可以在不使用第三方工具的情况下下载文件:
- 支持HTTPS(但不支持过期或自签名证书)和HTTP
- 将自动执行重定向,并自动使用代理设置
- 与现有的第三方工具不同,可从服务中安全使用
- 支持下载文件的SHA-256哈希检查
- 支持基本身份验证