首页 > 解决方案 > 我选择使用 Inno Setup 6.1.1 下载的文件是否必须在 [Files] 部分中?

问题描述

为 Inno Setup 6.1.1 beta ( CodeDownloadFiles.iss ) 提供的示例在以下[Files]部分中有:

; These files will be downloaded
Source: "{tmp}\innosetup-latest.exe"; DestDir: "{app}"; Flags: external
Source: "{tmp}\ISCrypt.dll"; DestDir: "{app}"; Flags: external

目前我的脚本中没有这样的条目。这是因为我们有条件地决定是否需要在安装时下载相关文件(如其他 SO 问题中所述)。

由于我没有将尝试添加到该部分,因此是否有需要注意的后果[Files]

请注意,我们可以选择下载的文件是:

对于前 3 个,如果用户卸载了我的应用程序,我不希望尝试卸载它们。至于 CHM 文件,它不会在 Add / Remove 中创建条目,我们在卸载时手动尝试将其删除:

; The user might have downloaded offline help documentation
Type: files; Name: "{app}\MeetSchedAssist.chm"

那么,我没有在该[Files]部分中选择下载的文件是否重要?

标签: inno-setup

解决方案


您可以将该[Files]部分用于您想要的文件:

  1. 打包到安装程序中,并复制到目标机器(最常见的情况);
  2. 打包到安装程序中,但仅用于安装程序支持(如 DLL、子安装程序等) - 使用Flags: dontcopy;
  3. 从外部来源复制到目标机器 - 使用Flags: external.

您的前三个文件似乎是您要下载的子安装程序(外部源),但仅执行(安装程序支持,而不是复制到目标机器)。所以它们不属于上述三类。

您的帮助文件属于第 3 类。由于您只是有条件地下载它,因此您也需要处理该[Files]部分中的条件(除了下载之外)。通常,您使用TasksorComponents参数来执行此操作。


推荐阅读