我选择使用 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]
部分,是否有我需要注意的后果?
注意,我们可选择下载的文件是:
- 微软 .NET 框架
- Visual Studio 运行时 32 位
- Visual Studio 64 位运行时
- 本地化的 CHM 帮助文件
对于前 3 个,如果用户卸载了我的应用程序,我不希望尝试卸载它们。至于 CHM 文件,它不会在添加/删除中创建条目,我们在卸载时手动尝试删除它:
; The user might have downloaded offline help documentation
Type: files; Name: "{app}\MeetSchedAssist.chm"
所以,我没有在 [Files]
部分中选择下载的文件有关系吗?
您将 [Files]
section 用于您想要的文件:
- 打包到安装程序中,并复制到目标机器(最常见的情况);
- 打包到安装程序中,但仅用于安装程序支持(如 DLL、sub-installers 等)——使用
Flags: dontcopy
;
- 从外部源复制到目标机器 – 使用
Flags: external
.
您的前三个文件似乎是您要下载的 sub-installers(外部源),但仅执行(安装程序支持,不复制到目标机器)。所以他们不属于以上三类。
您的帮助文件属于第 3 类。由于您只是有条件地下载它,因此您也需要处理 [Files]
部分中的条件性(除了下载之外)。通常你使用 Tasks
or Components
parameters.
为 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]
部分,是否有我需要注意的后果?
注意,我们可选择下载的文件是:
- 微软 .NET 框架
- Visual Studio 运行时 32 位
- Visual Studio 64 位运行时
- 本地化的 CHM 帮助文件
对于前 3 个,如果用户卸载了我的应用程序,我不希望尝试卸载它们。至于 CHM 文件,它不会在添加/删除中创建条目,我们在卸载时手动尝试删除它:
; The user might have downloaded offline help documentation
Type: files; Name: "{app}\MeetSchedAssist.chm"
所以,我没有在 [Files]
部分中选择下载的文件有关系吗?
您将 [Files]
section 用于您想要的文件:
- 打包到安装程序中,并复制到目标机器(最常见的情况);
- 打包到安装程序中,但仅用于安装程序支持(如 DLL、sub-installers 等)——使用
Flags: dontcopy
; - 从外部源复制到目标机器 – 使用
Flags: external
.
您的前三个文件似乎是您要下载的 sub-installers(外部源),但仅执行(安装程序支持,不复制到目标机器)。所以他们不属于以上三类。
您的帮助文件属于第 3 类。由于您只是有条件地下载它,因此您也需要处理 [Files]
部分中的条件性(除了下载之外)。通常你使用 Tasks
or Components
parameters.