问题描述
为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:
- 打包到安装程序中,然后复制到目标计算机(最常见的情况);
- 打包到安装程序中,但仅用于安装程序支持(例如DLL,子安装程序等)–使用
Flags: dontcopy
; - 使用
Flags: external
从外部源复制到目标计算机。
您的前三个文件似乎是您要下载的子安装程序(外部源),但仅执行(安装程序支持,而不是复制到目标计算机)。因此,它们不属于以上三个类别。
您的帮助文件属于类别3。由于仅有条件下载该文件,因此您还需要在[Files]
部分中处理条件(除了下载之外)。通常,您可以使用Tasks
or Components
parameters来做到这一点。