概述
Inno Setup 是一个强大的安装包创建工具。本指南将引导您如何使用 Inno Setup 编译和打包您的应用程序,并解决安装过程中常见的问题。
如何使用 Inno Setup 编译器
下载并安装 Inno Setup:
- 从官方网站下载最新版本的 Inno Setup。
- 按照安装向导安装 Inno Setup 编译器。
创建脚本:
- 打开 Inno Script Studio(Inno Setup 附带)或您喜欢的文本编辑器。
- 编写或编辑您的安装脚本(
.iss
文件),定义安装选项、文件、注册表项等。
编译脚本:
- 使用 Inno Setup 编译器打开
.iss
文件。
- 点击“编译”来构建安装程序。此过程根据您的脚本生成单一可执行安装文件。
测试安装程序:
- 运行生成的安装程序,确保其正确工作。
- 测试所有安装路径,包括完整安装、升级和卸载场景。
部署安装程序:
- 将安装程序可执行文件分发给最终用户或通过您的首选分发渠道。
Inno Setup 关键部分及标签
[Setup]
- 用途: 定义安装程序的基本配置,包括应用程序名称、版本、安装目录和支持的架构。
- 安装阶段: 覆盖整个安装过程。
[Files]
- 用途: 指定要安装的文件及其目标目录。
- 安装阶段: 安装阶段,通常在安装过程中早期或中期执行。
[Dirs]
- 用途: 创建应用程序所需的目录。
- 安装阶段: 安装阶段,通常在
[Files]
之前执行。
[Icons]
- 用途: 创建快捷方式,如桌面图标或开始菜单条目。
- 安装阶段: 安装后阶段,在文件安装完成后执行。
[Run]
- 用途: 在主要安装完成后运行程序或命令。
- 安装阶段: 安装后阶段,用于设置配置、更新环境变量或启动应用程序。
[UninstallDelete]
- 用途: 指定卸载期间要删除的文件或目录。
- 卸载阶段: 卸载阶段。
[UninstallRun]
- 用途: 在卸载后运行命令或程序。
- 卸载阶段: 卸载后阶段。
[Registry]
- 用途: 安装期间创建或修改注册表键和值。
- 安装阶段: 安装阶段。
[Code]
- 用途: 包含 Pascal 脚本,用于安装期间的自定义操作和复杂逻辑。
- 安装阶段: 可以在 安装、安装后、卸载 和 卸载后 阶段执行。
安装流程和阶段
初始化 (Initialization):
- 初始检查和设置,如操作系统版本验证和管理员权限检查。
预安装 (Pre-installation):
安装 (Installation):
- 核心安装阶段,包括文件复制、目录创建和注册表配置。
安装后 (Post-installation):
卸载 (Uninstallation):
卸载后 (Post-uninstallation):
常见问题及解决方案
1. 进度条显示100%但安装未完成
- 问题: 进度条达到100%,但安装仍需时间才能完成。
- 解决方案: 确保所有耗时操作在进度更新中得到体现。使用自定义进度消息通知用户正在进行的进程。
2. 磁盘跨区必须启用错误
- 问题: 出现错误,指示由于安装程序大小,必须启用磁盘跨区。
- 解决方案: 调整安装包以减少大小或在
[Setup]
部分启用磁盘跨区。
3. 系统环境变量未正确设置
- 问题: 环境变量未正确更新或设置。
- 解决方案: 使用
[Registry]
或 [Code]
部分确保环境变量正确设置,并验证权限。
4. 卸载后文件残留
- 问题: 卸载后某些文件或目录仍然存在。
- 解决方案: 验证
[UninstallDelete]
和 [UninstallRun]
条目,确保所有文件和目录正确指定用于删除。
5. 卸载过程中执行自定义代码
- 问题: 需要在卸载过程中执行自定义操作。
- 解决方案: 实现
procedure UninstallStep
或类似功能,在 [Code]
中执行自定义逻辑。