news 2026/8/6 8:00:01

零基础学InnoSetup:30分钟做出第一个安装包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
零基础学InnoSetup:30分钟做出第一个安装包

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
    请创建一个最简单的InnoSetup入门示例,用于打包一个HelloWorld.exe程序。要求:1) 包含step by step的中文注释说明每个部分的作用 2) 只有最基本的功能(复制文件、创建快捷方式) 3) 使用最简单的语法 4) 在注释中解释[Setup]、[Files]、[Icons]等基本段落的含义。
  3. 点击'项目生成'按钮,等待项目生成完整后预览效果

最近工作需要给一个小工具制作安装包,作为完全没接触过安装包制作的新手,我选择了简单易用的InnoSetup。经过实践,发现它确实非常适合入门,这里把从零开始制作第一个安装包的过程记录下来,分享给同样需要的小伙伴们。

1. 准备工作

首先需要准备好两样东西:

  • InnoSetup软件:官网下载安装即可,完全免费
  • 要打包的程序:这里我们用一个简单的HelloWorld.exe作为示例

2. 创建脚本文件

InnoSetup通过脚本文件(.iss)来定义安装包的行为。新建一个文本文件,保存为HelloWorld.iss。我们将分步骤解释这个脚本的每个部分。

3. 编写基础脚本

脚本由多个段落(Section)组成,每个段落用中括号[]标注。最基本的安装包需要这三个段落:

  1. [Setup]:定义安装包的基本信息
  2. [Files]:指定要安装的文件
  3. [Icons]:创建快捷方式

4. 详解[Setup]段落

这个段落包含了安装包的全局设置:

  • AppName:应用程序名称
  • AppVersion:版本号
  • DefaultDirName:默认安装目录
  • OutputDir:编译后安装包的输出位置
  • OutputBaseFilename:安装包文件名
  • Compression:压缩方式

5. 详解[Files]段落

这里定义要打包的文件列表,最基本的语法是:

Source: "源文件路径"; DestDir: "目标目录"

可以指定多个文件,每个文件一行。我们这里就打包一个HelloWorld.exe到程序安装目录。

6. 详解[Icons]段落

这个段落用于创建快捷方式,主要参数:

  • Name:快捷方式名称和位置
  • Filename:快捷方式指向的程序

我们将在开始菜单和桌面各创建一个快捷方式。

7. 完整脚本示例

下面是一个完整的简单示例脚本(已添加详细注释):

(注:这里不展示具体代码,用文字描述脚本结构)

脚本包含三大部分:

  1. Setup部分设置了安装包名称为"HelloWorld",版本1.0,默认安装到Program Files下的HelloWorld目录
  2. Files部分指定将同目录下的HelloWorld.exe文件安装到应用程序目录
  3. Icons部分创建了两个快捷方式:一个在开始菜单,一个在桌面

8. 编译生成安装包

保存脚本文件后,在InnoSetup中选择"编译",就会生成一个标准的Windows安装程序.exe文件。整个过程通常只需要几秒钟。

9. 测试安装包

运行生成的安装程序,会看到标准的安装向导界面。按照提示一步步操作,最后可以在指定位置看到安装的程序和快捷方式。

10. 常见问题解决

初学者可能会遇到的一些问题:

  • 文件路径问题:建议使用相对路径,或者{app}表示安装目录
  • 中文乱码:确保脚本文件保存为UTF-8编码
  • 权限问题:可能需要以管理员身份运行安装程序

进阶建议

掌握了这个基础版本后,可以继续探索:

  • 添加卸载功能
  • 自定义安装界面
  • 添加注册表项
  • 支持多语言

整个过程下来,我发现InnoSetup确实对新手很友好,简单的安装包基本上30分钟内就能搞定。如果想快速体验,推荐使用InsCode(快马)平台,它内置了代码编辑器和实时预览功能,不用安装软件也能练习脚本编写。

对于这种需要持续运行的安装程序项目,平台还提供了一键部署功能,可以快速分享给他人测试。

希望这篇入门指南能帮你跨出InnoSetup的第一步,后续我会分享更多高级功能的教程。

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
    请创建一个最简单的InnoSetup入门示例,用于打包一个HelloWorld.exe程序。要求:1) 包含step by step的中文注释说明每个部分的作用 2) 只有最基本的功能(复制文件、创建快捷方式) 3) 使用最简单的语法 4) 在注释中解释[Setup]、[Files]、[Icons]等基本段落的含义。
  3. 点击'项目生成'按钮,等待项目生成完整后预览效果

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 20:07:50

如何用AI自动生成Element UI表单代码?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请基于Element UI框架,生成一个包含用户名、密码和验证码的登录表单代码。要求:1. 使用el-form-item布局 2. 用户名输入框带前缀图标 3. 密码输入框显示切换…

作者头像 李华
网站建设 2026/8/6 21:55:42

用AI自动生成Modbus Poll测试工具,告别手动编码

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请开发一个Modbus Poll测试工具,支持RTU和TCP协议,包含以下功能:1) 设备地址配置 2) 功能码选择(01-06) 3) 寄存器地址和值设置 4) 数据发送和接…

作者头像 李华
网站建设 2026/8/6 21:56:03

Linux中的网络管理

RHEL9的版本特点在RHEL7版本中,同时支持network.service和NetworkManager.service(简称NM)。在RHEL8上默认只能通过NM进行网络配置,包括动态ip和静态ip,若不开启NM,否则无法使用网络 RHEL8依然支持network.service&…

作者头像 李华
网站建设 2026/8/5 23:34:27

数据链路层如何“打包”数据?四种帧封装方法详解

数据链路层如何“打包”数据?四种帧封装方法详解在计算机网络中,数据链路层负责将网络层交付的数据包封装成帧(Frame),以便在物理链路上可靠传输。而封装成帧的核心问题之一是:如何让接收方准确识别一帧的开…

作者头像 李华
网站建设 2026/8/6 13:20:12

命令行工具终极指南:5步打造你的Twitter社交机器人

命令行工具终极指南:5步打造你的Twitter社交机器人 【免费下载链接】t-ruby A command-line power tool for Twitter. 项目地址: https://gitcode.com/gh_mirrors/tr/t-ruby 想要构建一个智能的Twitter社交机器人,却不想陷入复杂的编程泥潭&#…

作者头像 李华
网站建设 2026/8/6 5:28:26

基于静止坐标系和正交坐标系的非对称六相电机simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序或模型 4.系统原理简介 5.完整工程文件 1.课题概述 非对称六相电机是多相电机的典型代表,相较于传统三相电机,其具备功率密度高、容错能力强、转矩脉动小等优势,在电动汽车、船舶推进、航空航…

作者头像 李华