inno-setup - 我选择使用 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]
?
请注意,我们可以选择下载的文件是:
- 微软 .NET 框架
- Visual Studio 运行时 32 位
- Visual Studio 运行时 64 位
- 本地化的 CHM 帮助文件
对于前 3 个,如果用户卸载了我的应用程序,我不希望尝试卸载它们。至于 CHM 文件,它不会在 Add / Remove 中创建条目,我们在卸载时手动尝试将其删除:
; The user might have downloaded offline help documentation
Type: files; Name: "{app}\MeetSchedAssist.chm"
那么,我没有在该[Files]
部分中选择下载的文件是否重要?
解决方案
您可以将该[Files]
部分用于您想要的文件:
- 打包到安装程序中,并复制到目标机器(最常见的情况);
- 打包到安装程序中,但仅用于安装程序支持(如 DLL、子安装程序等) - 使用
Flags: dontcopy
; - 从外部来源复制到目标机器 - 使用
Flags: external
.
您的前三个文件似乎是您要下载的子安装程序(外部源),但仅执行(安装程序支持,而不是复制到目标机器)。所以它们不属于上述三类。
您的帮助文件属于第 3 类。由于您只是有条件地下载它,因此您也需要处理该[Files]
部分中的条件(除了下载之外)。通常,您使用Tasks
orComponents
参数来执行此操作。
推荐阅读
- sql - 如何从 excel 生成 SQL 查询,我可以在递归检查空白数据时使用占位符并接受语句
- php - 如何对顶部和底部列codeigniter 3之间的数据求和
- python - ML 技术在数据中的时间序列趋势中寻找模式 (Python)
- amazon-web-services - Trouble when adding https listener to AWS Application Load Balancer
- pycharm - Pycharm 专业版的 Jupyter notebooks 在使用 TAB 后不会像普通 Jupyter notebook 一样自动填充
- java - 检索方法 Java
- shopify - Googlepage Insight Giving Error 上的 Shopify 速度测试
- java - 将 xml 对象映射到 hashmap
- c - 清除 C 中不正确的 scanf 输入
- spring-boot - 仅从组件类而不是从 springboot 应用程序的主类获取 SSL 错误