
摘要:在 Inno Setup 脚本中,Flags(标记)参数是赋予安装包灵活行为的核心机制。它通常作为附加选项出现,允许开发者通过简单的关键字组合,精确控制文件的复制、程序的运行以及界面的交互。多个 Flags 之间可以使用空格进行分隔。 一、 [Files] 段 Flags:精准掌控文件部署 [Files] 段的 Fla…
在 Inno Setup 脚本中,Flags(标记)参数是赋予安装包灵活行为的核心机制。它通常作为附加选项出现,允许开发者通过简单的关键字组合,精确控制文件的复制、程序的运行以及界面的交互。多个 Flags 之间可以使用空格进行分隔。
一、 [Files] 段 Flags:精准掌控文件部署
[Files] 段的 Flags 决定了文件如何从安装包提取并写入用户系统,是制作补丁和更新包的重中之重。
- ignoreversion:完全不比较版本信息,无论目标文件版本号如何,都强制替换。此标志仅应用于应用程序私有文件,绝不可用于共享的系统文件,否则可能引发系统崩溃。
- recursesubdirs:指示编译器递归搜索源目录下的所有子目录。通常与通配符(如 *.*)配合使用,实现整个文件夹的打包。
- createallsubdirs:默认情况下,Inno Setup 会跳过空的子目录。此标志会强制在安装时创建所有子目录结构,必须与 recursesubdirs 配合使用。
- overwritereadonly:如果目标文件具有“只读”属性,安装程序会自动去除该属性并强制覆盖。若不使用此标志,安装程序会弹出提示询问用户是否覆盖。
- confirmoverwrite:在替换现有文件之前,始终要求用户确认。适用于需要用户知晓文件被替换的场景。
- onlyifdoesntexist:只有在用户系统中不存在该文件时才进行安装。常用于安装初始配置文件,避免覆盖用户已修改的设置。
- onlyifdestfileexists:只有当目标文件已存在时才安装。这在制作现有软件的增量补丁时非常有用,可防止误装用户未安装的文件。
- isreadme:将文件标记为“自述文件”。安装完成后会提示用户是否查看,且整个安装过程中只能有一个文件使用此标志。
- deleteafterinstall:指示安装程序在复制该文件并在 [Run] 段执行相关操作后,将其从系统中删除。常用于提取临时数据或辅助程序。
- dontcopy:在常规文件复制阶段不复制该文件,而是将其静态编译到安装程序中。通常与 [Code] 段的 ExtractTemporaryFile 函数配合,用于按需释放临时文件。
- nocompression:防止编译器压缩该文件。对于 JPEG、MP3 等已高度压缩的文件,使用此标志可加快编译速度并略微减小安装包体积。
- regserver:指示安装程序调用 DLL/OCX 文件导出的 DllRegisterServer 函数进行注册,卸载时自动调用反注册函数。
- regtypelib:用于注册类型库(.tlb 文件)。
二、 [Run] 段 Flags:灵活调度安装后任务
[Run] 段的 Flags 用于控制安装完成后程序的启动行为、权限以及用户交互。
- postinstall:在安装完成的向导页面创建一个复选框,允许用户决定是否运行该程序。
- nowait:安装程序启动该进程后不等待其完成,直接继续后续操作或结束安装。不能与 waituntilterminated 等组合使用。
- waituntilterminated:安装程序会一直等待该进程完全终止后,才继续执行。这是默认行为,但在使用 shellexec 标志时必须显式指定。
- waituntilidle:等待进程处于空闲状态(即等待用户输入)时才继续,而不是等待其完全退出。
- runhidden:在隐藏窗口中运行程序。常用于执行后台批处理或命令行工具,避免弹出黑色控制台窗口。
- runminimized / runmaximized:分别以最小化或最大化窗口运行指定的程序或文档。
- shellexec:如果 Filename 不是 .exe 或 .com 文件(如 .txt、.doc 或文件夹),必须使用此标志。它会调用系统默认关联的程序来打开目标。
- skipifsilent:如果用户使用了 /silent 或 /verysilent 命令行参数进行静默安装,则跳过此条目。
- skipifnotsilent:仅在静默安装模式下执行,非静默模式下跳过。
- unchecked:配合 postinstall 使用,将完成页面的复选框默认设置为未选中状态。
- hidewizard:在该程序运行期间,隐藏安装向导界面。
- 32bit / 64bit:控制 {sys} 常量映射到 32 位还是 64 位系统目录。注意,这两个标志不能与 shellexec 组合使用。
三、 [Setup] 段 Flags:定义安装程序全局行为
[Setup] 段的 Flags 用于控制安装向导的整体表现和系统兼容性。
- iscustom:在 [Types] 段中使用,告诉安装程序该安装类型为“自定义类型”。当用户手动更改了组件选择时,安装类型会自动切换为此项。
四、 [Components] 段 Flags:组件化安装控制
[Components] 段的 Flags 用于精细化控制安装组件的层级与选择逻辑。
- fixed:该组件为必装组件,用户无法取消勾选。
- exclusive:同级组件中只能选择其中一个(单选逻辑)。
- checkablealone:即使其所有子组件都未被选中,该组件依然可以被单独勾选。
- dontinheritcheck:当父组件被选中时,该组件不会自动继承选中状态,需要用户手动勾选。
五、 [Registry] 段 Flags:注册表操作保障
- uninsdeletekey:卸载程序时删除该注册表项及其所有子项。
- uninsdeletevalue:卸载程序时仅删除该特定的注册表值。
- createkeyifdoesntexist:仅当该注册表键不存在时才创建并赋值。
Flags 是 Inno Setup 脚本的灵魂。熟练掌握这些标记,不仅能大幅减少 [Code] 段中复杂的 Pascal 脚本编写,还能让安装程序的底层逻辑更加清晰、稳定。在实际开发中,建议查阅官方文档以获取最新的 Flags 列表及参数组合限制。
声明:大眼仔旭 | 本文采用署名-非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
文章名称:《Inno Setup 脚本中 Flags 标记都有哪些,分别是什么意思?》
文章固定链接:https://www.dayanzai.me/flags-in-inno-setup-script.html
本站资源仅供个人学习交流,请于下载后 24 小时内删除,不允许用于商业用途,否则法律问题自行承担。
文章名称:《Inno Setup 脚本中 Flags 标记都有哪些,分别是什么意思?》
文章固定链接:https://www.dayanzai.me/flags-in-inno-setup-script.html
本站资源仅供个人学习交流,请于下载后 24 小时内删除,不允许用于商业用途,否则法律问题自行承担。
转载声明
猜你喜欢
- 2026-04-05复刻打字机时代真实质感!免费商用迫真打字油印体发布
- 2025-06-17国外八款主流杀毒软件哪款最出色?如何选择适合自己的防病毒应用
- 2022-10-18如何禁用两个虚拟化提升 Windows 11 上的游戏性能
- 2024-09-06随机密码生成工具 RandPass Pro 2.2.0 中文绿色汉化版
- 2020-10-04gBurner 虚拟驱动器 gBurner Virtual Drive 5.0 + x64 中文多语免费版
相关推荐
- 2020-08-04青山汉化 V-Ray 5 for 3ds Max 2020 完整汉化版
- 2025-09-26微软为欧洲用户免费延长 Windows 10 更新,中国用户呢?
- 2017-06-10软件加密保护系统 VProtect Pro 2.1.0 中文免费版
- 2017-03-24本地文件快速搜索工具 Hddb 4.4.0 + x64 中文版
- 2018-11-29系统引导维护工具 EasyBCD 2.4.0.237 中文多语免费版
全部评论: (0条)
^_^ 暂无评论!
发表评论
MORE>>微软应用
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
MORE>>安卓应用
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
MORE>>教程资源
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
MORE>>其它资源
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
最新标签
Adobe
Autodesk
ChatGPT
GitHub
Inno Setup 技巧
Inno Setup 教程
JetBrains
Linux 发行版
Linux 系统
Microsoft
Office
OpenAI
PDF 工具
PDF 编辑器
PDF 阅读器
Win10 技巧
Windows 10
Windows 10 技巧
Windows 11
Windows 11 小技巧
Windows 11 技巧
Wise Soft
WordPress 技巧
代码编辑器
免费商用字体
免费字体
免费字体下载
免费软件
办公软件
卸载工具
固态硬盘检测工具
图像处理工具
图像查看器
图像浏览器
安卓视频编辑器
安装包制作工具
屏幕录像
屏幕录像工具
屏幕录像软件
开源字体
开源软件
思维导图
截图工具
数据恢复
数据恢复工具
文本编辑器
格式转换工具
桌面录像
汉化工具
系统优化工具
系统增强
系统增强工具
编程开发
视频播放器
视频编辑器
视频转换器
视频转换工具
解压缩工具
音乐播放器
音频转换工具





