当前位置: 首页 > ai >正文

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 桌面应用发布中非常实用的工具,结合脚本定制与签名机制,可构建出专业、可信、安全的安装体验。

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

http://www.xdnf.cn/news/3185.html

相关文章:

  • Kubernetes Service 详解
  • 耘想WinNAS:企业级NAS解决方案的终极选择
  • sora 文本生图能力体验
  • 柔性生产是什么?怎样能实现柔性生产?
  • Java Class类文件结构
  • sql server 2008 r2 下载安装
  • 【前缀和】二维前缀和(模板题)
  • 动态规划降低空间复杂度例题及简化
  • Android Studio下载安装教程
  • pybind11 使用指南+示例
  • kibana重建es索引
  • 【Python学习路线】零基础到项目实战
  • AI Agent(1):概念与定义
  • [论文精读]Agent综述—— A survey on large language model based autonomous agents
  • 关于 MCP 的理论知识学习
  • 【影刀RPA实战案例】小红书商品数据采集
  • 文本解析到大模型应用
  • 大力探索“AI·Life爱生活”项目峰会暨战略投资签约仪式成功举办
  • C++中std::map、std::list和std::deque的底层实现是怎样的?
  • DeepSeek-Prover-V2-671B:数学推理的大模型新力量
  • UDP报文结构
  • 函数调用及Chain——SQL+GLM
  • 临床回归分析及AI推理
  • Cypress/Playwright 跨浏览器测试
  • QWen3对比QWen2.5:显著优势解析
  • Kubernetes Service 访问方式详解
  • GLM调用三种方式及多轮对话
  • 2025.4.27 Vue.js 基础学习笔记
  • using var connection = connectionFactory.CreateConnection(); using var 是什么意思
  • WPACS基于HTML5的DICOM影像浏览