Inno Setup 打包工具使用手册

Inno Setup 是一款轻量、功能强大的 Windows 安装包制作工具,支持脚本自定义、数字签名、权限控制、多语言、任务选项等功能,广泛应用于个人和企业软件打包场景。

一、Inno Setup 简介

官网地址:https://jrsoftware.org/isinfo.php

特点

  • 支持多语言安装向导

  • 支持数字签名(SignTool)

  • 可自定义安装行为(通过 Pascal 脚本)

  • 支持条件任务、注册表、服务等设置

  • 支持 x86/x64,兼容 Win7 到 Win11

二、安装与准备

1. 安装工具

  • 下载 Inno Setup 官方安装包并安装

  • 建议使用 Unicode 版本(支持更多语言)

  • 安装完成后可使用 GUI(Compil32.exe)或命令行编译 .iss 脚本文件

2. 编译脚本(GUI / 命令行)

  • 打开 .iss 脚本 → 点击工具栏「编译」

  • 或在命令行使用:

Compil32.exe /cc your_script.iss

三、基本 .iss 脚本结构

[Setup]
AppName=MyApp
AppVersion=1.0.0
DefaultDirName={autopf}\MyApp
OutputDir=Output
OutputBaseFilename=MyAppSetup
Compression=lzma

[Files]
Source: "bin\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"

[Run]
Filename: "{app}\MyApp.exe"; Description: "Launch MyApp"; Flags: nowait postinstall

四、常用段落详解(含参数说明)

1. [Setup] 安装器设置

参数说明
AppName安装程序显示的应用名称
AppVersion版本号,会显示在安装信息页
DefaultDirName默认安装目录,支持变量如 {autopf}
OutputDir生成的安装包保存目录
OutputBaseFilename生成安装包的基础文件名(不含 .exe
Compression压缩算法(如 lzma, zip
SolidCompression启用固实压缩,压缩率更高
PrivilegesRequired要求权限(admin / lowest / poweruser)
WizardStyle向导样式(classic / modern
AppPublisher发布商名,用于控制面板和卸载项中显示

2. [Files] 文件拷贝与签名

参数含义
Source源文件路径
DestDir安装目标目录(如 {app}
Flags控制行为,如:
ignoreversion:不比较版本始终覆盖
signonce:签名(如未签)
sign:强制签名
recursesubdirs:递归子目录
createallsubdirs:自动创建子目录

3. [Icons] 快捷方式

字段含义
Name快捷方式路径,如 {group} 表示开始菜单组
Filename快捷方式指向的程序路径
Tasks可选安装任务条件

4. [Run] 安装后自动运行程序

参数含义
Filename要运行的程序路径
Description显示在复选框中
Flagspostinstall 安装后运行;nowait 不等待进程退出;shellexec 用外壳方式运行;runascurrentuser 当前用户身份运行

5. [Registry] 写入注册表项(如开机自启)

[Registry]
Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
ValueName: "MyApp"; ValueData: """{app}\MyApp.exe"""; Flags: uninsdeletevalue

6. [Languages] 多语言支持

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"

7. [Tasks] 可选任务(如创建桌面图标)

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";

8. [Code] 高级逻辑(Pascal 脚本)

用于控制安装逻辑,如是否保留旧配置、静默模式判断等:

function InitializeSetup(): Boolean;
begin
  Result := MsgBox('是否继续安装?', mbConfirmation, MB_YESNO) = IDYES;
end;

五、签名支持(SignTool)

[Files] 中添加签名:

Source: "MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion signonce;

你也可以通过 signtool.exe 在打包后对整个安装包签名:

signtool sign /fd sha256 /a /tr http://timestamp.sectigo.com /td sha256 MyAppSetup.exe

六、构建与分发流程推荐

  1. 准备 .exe.dll、资源文件

  2. 编写 .iss 脚本,定义文件、路径、快捷方式

  3. 使用 Compil32.exe /cc 编译为安装包

  4. 使用 signtool.exe 对安装包执行签名

  5. 上传至官网下载页或打包二维码

七、常用路径变量速查表

变量含义
{app}安装目标目录(用户可选)
{autopf}系统 Program Files 目录
{group}开始菜单程序组目录
{userdesktop}当前用户桌面
{tmp}安装临时目录
{localappdata}当前用户 LocalAppData 路径

总结

Inno Setup 是 Windows 桌面应用发布中非常实用的工具,结合脚本定制与签名机制,可构建出专业、可信、安全的安装体验。

无论是个人开发者还是企业级发布,都值得掌握。

### Inno Setup 的基本使用方法 Inno Setup 是一种用于创建 Windows 安装程序的强大工具。它允许开发者通过编写脚本来定义应用程序的安装过程,包括文件复制、注册表修改以及快捷方式创建等功能。 #### 基础概念 一个典型的 Inno Setup 脚本是一个纯文本文件,其结构类似于 `.ini` 文件[^1]。该脚本由多个部分组成,称为 **段** (Sections),每一段都用方括号 `[]` 表示。以下是几个常见的段及其功能: - `[Setup]`: 配置安装程序的基本属性,例如应用名称、版本号和默认安装路径。 - `[Files]`: 列出要打包到安装包中的文件,并指定它们的目标目录。 - `[Icons]`: 创建启动菜单或桌面上的应用快捷方式[^2]。 - `[Registry]`: 修改系统的注册表设置。 - `[INI]`: 编辑外部 INI 文件的内容。 - `[Code]`: 添加 Pascal Scripting 代码来实现更复杂的逻辑操作。 #### 示例脚本 以下是一份基础的 Inno Setup 脚本模板,展示了如何配置主要参数并添加一些必要的组件: ```inno ; 定义 [Setup] 段 [Setup] AppName=My Application ; 应用程序的名字 AppVersion=1.0 ; 版本号码 DefaultDirName={pf}\My App ; 默认安装路径 OutputBaseFilename=myapp_setup ; 输出安装程序的基础文件名 ; 定义 [Files] 段 [Files] Source: "bin\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; 定义 [Icons] 段 [Icons] Name: "{autoprograms}\My Application"; Filename: "{app}\myapp.exe" ; 可选:定义 [Run] 段以运行某些命令 [Run] Filename: "{app}\post_install.bat"; Description: "Running post-install script..."; StatusMsg: "Executing Post Install..." ``` 此脚本会完成如下任务: - 设置应用程序名为 “My Application”,版本为 1.0; - 将所有位于 `bin/` 目录下的文件复制至目标机器上的 `{app}` 文件夹中; - 在开始菜单中创建指向可执行文件的一个快捷方式; - 执行额外的批处理脚本作为安装后的动作之一。 #### 获取官方文档和支持资源 为了深入理解 Inno Setup 功能集,建议查阅其官方网站提供的详尽手册。这些资料不仅涵盖了语法细节还提供了丰富的实例供参考。通常可以从官网下载最新版软件的同时获得对应的帮助文档链接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值