目录
1. Section说明
官方说明:Inno Setup Help
Inno Setup脚本主要包含以下Section:
Section | 作用 |
[Setup] | 用于设置安装程序和卸载程序使用的全局设置 |
[Types] | 定义安装组件的类型。 |
[Components] | 定义可供选择安装的所有组件 |
[Tasks] | 定义安装期间所有由用户选择要执行的任务。 |
[Dirs] | 定义用户想额外创建的目录。 |
[Files] | 定义要打包到安装程序里的文件。 |
[Icons] | 定义要创建在开始菜单、桌面或任务栏等位置的快捷方式和图标。 |
[INI] | 定义向用户系统中 .INI 文件中添加的新条目。 |
[Languages] | 定义安装程序中可使用的语言(适用于多国语言版) |
[Message] | 定义安装程序和卸载程序显示的消息。 |
[CustomMessages] | 定义{cm:…}常量的自定义消息值 |
[LangOptions] | 定义安装程序和卸载程序使用的语言特定设置,如字体 |
[Registry] | 定义安装过程中要读取、新建或删除的注册表项。 |
[Run] | 定义要在安装结束时运行的程序。 |
[UninstallRun] | 定义要在开始卸载前运行的程序。 |
[InstallDelete] | 定义要在安装之前删除的文件或文件夹。 |
[UninstallDelete] | 定义要在卸载时删除的其他文件或文件夹。 |
[Code] | 定义安装卸载时自定义的Pascal脚本。 |
默认情况下,字段值前后的空格都会被忽略。如果要避免这种情况,可以使用""括起来
2. 安装卸载执行顺序
2.1 安装顺序
安装包执行顺序如下:
1. 如果CloseApplications字段设置为yes,则安装程序会先关闭[Files] Section指定的要更新的应用程序
2. 处理[InstallDelete] section
3. 将[UninstallDelete] Section存储在卸载日志中
4. 创建应用程序目录
5. 处理[Dirs] Section
6. 处理[Files] Section
7. 处理[Icon] Section
8. 处理[INI] Section
9. 处理[Registry] Section
10. 注册需要注册的文件。除非系统需要重启,这种情况下,在系统重启之前不会注册任何文件
11. 在控制面板的“Add/Remove Programs”中增加本应用
12. 将[UninstallRun] Section存储在卸载日志中
13. 将卸载程序和日志保存在磁盘上(一般在应用安装目录下)。此步骤完成后,用户就无法取消安装,任何后续错误都不会导致之前安装的内容被回滚。
14. 处理[Run] Section。但是带有postinstall标志的条目除外,这些会在显示“安装完成”的向导页面以后才调用。
15. 如果RestartApplications字段设置为yes,则安装程序会重启应用程序。
16. 如果ChangesAssociations字段设置为yes或布尔表达式返回True,则刷新文件关联
17. 如果ChangesEnvironment字段设置为yes或布尔表达式返回True,则通知其他程序
注意:每个Section中的所有条目都由按照它们在Section中的顺序进行处理。
2.2 卸载顺序
卸载程序:
- 与安装程序的顺序相反。