• 上位机程序发布打包成安装包---Inno Setup


    上位机程序打包成安装包,不是为了好看,而是为了让你的程序在任何客户电脑上都能正常运行、方便安装卸载、符合工业交付标准。
    Inno Setup 是目前免费、轻量、最适合上位机的打包工具,打包后客户只需一键安装,不用懂技术。

    一、打包成安装包的必要性

    1、解决 Release 文件夹用不了的问题:可以自动检测客户电脑的环境,缺少运行库就自动安装,需要驱动就自动部署,注册表、权限也能通过脚本全自动配置。

    2、降低使用门槛:工厂现场的操作员、运维人员,不懂程序开发,也不会配置运行环境,安装包“一键下一步”的操作,能让他们快速上手,无需额外培训。

    3、符合项目验收标准:无论是企业内部项目,还是给外部客户交付,验收时都要求提供“标准安装包”,这是项目归档、交付确认的必备材料,散文件根本无法通过验收。

    4、批量部署更高效:很多场景下,需要在多台工业电脑上安装上位机(比如工厂多条生产线、多个监控工位),安装包可以实现批量安装、静默安装,节省大量部署时间,而散文件需要逐台复制、手动配置,效率低,还容易出现配置不一致的问题。

    二、体验升级

    除了解决“能用”的问题,安装包还能大幅提升用户体验,尤其是Inno Setup这类专业打包工具,能实现很多散文件无法完成的功能。

    1、自动创建快捷方式:安装包可以自动在桌面、开始菜单创建快捷方式,客户双击快捷方式就能启动程序。

    2、干净卸载,避免版本冲突:自带标准卸载功能,能彻底删除程序文件、注册表、配置文件、驱动服务,不留任何残留,为后续版本升级扫清障碍。

    3、版本管理与安全防护:安装包可以明确标注版本号(比如V1.0、V1.1),客户能清晰知道自己使用的是哪个版本。同时,Inno Setup还支持设置安装密码、文件防篡改,避免程序被随意复制、篡改,保护你的开发成果——这对于商业上位机项目来说,尤为重要。

    4、个性化定制,适配工业场景:Inno Setup支持通过脚本自定义安装流程,比如指定默认安装路径(避免客户误装到系统盘)、隐藏高级配置(避免非专业用户误操作)、安装完成后自动启动程序,甚至可以定制多语言安装界面,适配不同客户的需求。同时,其可设定安装前及安装后所需查看的相关协议及文档。

    三、Inno Setup 工具打包步骤

    1、下载安装Inno Setup 工具软件。

    2、准备需要打包成安装包的可运行程序,程序所需.Net的运行时安装包,安装程序前及安装完成后分别所需查看的txt文件,安装运行程序的Logo图标。

    3、打开Inno Setup软件,File --> New 创建新的打包项目,如下图中分别输入 应用程序名称、版本号、发布者及网址。

    1

    4、可自定义安装程序的文件夹名称,也可设定安装时是否可修改该文件夹名称。

    2

    5、设定所需打包程序的exe,同时添加该运行程序所在的文件夹。

    3

    6、直接下一步。

    4

    7、根据需要是否在安装的时候创建桌面快捷方式、是否在开始菜单中创建快捷方式。

    5

    8、设置License文件、安装前所需浏览文件及安装后所需浏览文件。

    6

    9、设置是否以管理员权限安装。

    7

    10、选择安装包的安装向导显示以哪种语言显示,可多选。

    8

    11、设置生成安装包存放的位置、安装包的名称、安装包的图标、安装包在安装时所需的密码(空值,则不需要密码)。

    9

    12、完成向导设置后,可在代码界面配置所需同步安装的运行环境,设置后该运行环境将会一同打包进安装包中。

    10

    11

    13、完成配置后点击工具栏上的运行按钮,进行生成安装包。

    12 安装包属性

    四、安装包的运行安装与卸载

    1、双击运行,选择安装时所使用的向导语言(多语言的情况下)。

    13

    2、显示安装前所需浏览的文件内容。

    14

    3、选择安装目录。

    15

    4、是否创建桌面快捷方式。

    16

    5、执行安装,安装时长根据是否配置需安装运行环境等决定。

    6、安装完成后显示所需浏览的文件信息。

    17

    7、完成安装,同时可设定是否立即启动。

    18

    8、在安装路径中,双击运行如下运行程序,将会自动卸载该安装包程序。

    19

    欢迎关注微信公众号,第一时间获取更新:

    博客园图片
  • 相关阅读:
    【Android知识笔记】FrameWork中的设计模式
    python+django体质测试数据分析及可视化设计
    Python数据容器——集合的相关操作
    【Rust指南】use关键字妙用|模块内容拆分
    springboot+commons-pool2 连接池访问sftp
    Python机器学习016:pytorch张量与数据类型
    jenkins: pass multiple “Extended Choice Parameter“ values using a URL
    Java数据结构与算法(爬楼梯动态规划)
    hadoop3.3.2版本分布式集群搭建1主1从(含虚拟机安装教程)
    「通信原理」格雷码的生成与破译
  • 原文地址:https://www.cnblogs.com/jianghuxing/p/20241276