我选择使用 Inno Setup 6.1.1 下载的文件是否必须位于 [文件] 部分?

Does files I am optionally downloading with Inno Setup 6.1.1 have to be in the [Files] section?

为 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 文件,它不会在添加/删除中创建条目,我们在卸载时手动尝试删除它:

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

所以,我没有在 [Files] 部分中选择下载的文件有关系吗?

您将 [Files] section 用于您想要的文件:

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

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

您的帮助文件属于第 3 类。由于您只是有条件地下载它,因此您也需要处理 [Files] 部分中的条件性(除了下载之外)。通常你使用 Tasks or Components parameters.