• 乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 Inno Setup如何设置退出代码


    什么是Inno Setup

    https://jrsoftware.org

    https://github.com/jrsoftware/issrc

    Inno Setup是由Jordan Russell和Martijn Laan开发的一个免费的Windows程序安装程序。Inno Setup于1997年首次推出,如今在功能设置和稳定性方面可以与许多商业安装程序相媲美,甚至超越。

    image

    主要特点

    • 支持2006年以来的每个Windows版本,包括。Windows 11、Windows 10、Windows 10 on ARM、Windows Server 2019、Windows Server 2016、Windows 8.1、Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008和Windows Vista。(不需要服务包)。
    • 广泛支持在64位版本的Windows上安装64位应用程序。x64、ARM64和Itanium架构都被支持。
    • 广泛支持管理和非管理安装的安装。
    • 支持创建一个单一的EXE来安装你的程序,以方便在线分发。也支持磁盘跨度。
    • 可调整的标准Windows向导界面。
    • 可定制的安装类型,例如:完整、最小、自定义。
    • 完整的卸载功能。
    • 文件的安装。
    • 包括对"deflate"、bzip2和7-Zip LZMA/LZMA2文件压缩的综合支持。安装程序具有比较文件版本信息、替换使用中的文件、使用共享文件计数、注册DLL/OCX的和类型库以及安装字体的能力。
    • 在任何地方创建快捷方式,包括在开始菜单和桌面上。
    • 创建注册表和.INI条目。
    • 在安装之前、期间或之后运行其他程序。
    • 支持多语言安装,包括从右到左的语言支持。
    • 支持受密码保护和加密的安装。
    • 支持数字签名的安装和卸载,包括双签名(SHA1&SHA256)。
    • 无声安装和无声卸载。
    • Unicode安装。
    • 集成预处理器选项,用于高级编译时定制。
    • 集成Pascal脚本引擎选项,用于高级运行时的安装和卸载定制。
    • 完整的源代码可从GitHub获得。
    • 占用空间小:在包含所有功能的情况下,只有大约1.5MB的开销。
    • 所有的功能都有完整的文档。
    • 微软Visual Studio CodeEmbarcardero Delphi使用。

    它真的是免费的吗,甚至用于商业用途?

    是的,它可以完全免费使用,即使是在部署商业应用程序时

    (注意:"Completely free of charge"不能与"completely free"相混淆。Inno Setup是有版权的软件,不是公共领域的软件。在分发和使用上有一些限制;详情请见LICENSE.TXT文件)。

    创建安装程序

    安装是通过脚本来创建的,它是ASCII或Unicode(UTF-8编码的BOM)文本文件,格式有点类似于.INI文件。(不,它并不像你想象的那么复杂!)。

    脚本的扩展名是".iss"(指Inno Setup Script)。脚本控制安装的每一个方面。它指定了哪些文件要被安装,安装在哪里,要创建哪些快捷方式,以及它们的名称,等等。

    脚本文件通常在 "Inno Setup Compiler "编译器IDE程序中编辑。完成脚本的编写后,下一步也是最后一步就是在编译器集成开发环境中选择 "编译"。这样做的目的是根据您的脚本创建一个完整的、可随时运行的设置程序。默认情况下,这个程序是在包含脚本的目录下一个名为 "输出 "的目录中创建的。

    为了让你了解这一切是如何进行的,启动编译器集成开发环境,单击 "文件|打开",然后选择位于Inno Setup目录下的Examples子目录中的一个脚本文件。(将示例脚本作为你自己脚本的模板可能会有帮助)。

    脚本格式概述

    Inno设置脚本被安排成几个部分。每个部分控制安装的不同方面。通过指定用方括号[]括起来的章节名称来启动一个章节。每个部分都有任意数量的条目。

    主要有两种类型的部分:如[Setup],其条目包含指令名称和值(形式为指令=值);如[Files],其条目被划分为参数。

    下面是一个例子:

    [Setup]
    AppName=My Program
    
    [Files]
    Source: "MYPROG.EXE"; DestDir: "{app}"
    

    注意,指定同名的多个部分是合法的。

    你可以在脚本中加入 "注释"(编译器会忽略这些注释),方法是在每一行的开头加上一个分号。比如说

    ; This is a comment. I could put reminders to myself here...
    

    支持类似于C语言的#include指令,它可以从一个单独的文件中拉入#include指令位置的脚本中的行。其语法是

    #include "filename.txt"
    

    如果文件名不是完全合格的,编译器将在包含#include指令的文件的同一目录下寻找它。文件名可以以 "compiler: "为前缀,在这种情况下,它将在编译器目录下寻找该文件。

    支持#preproc指令,它指定是使用只支持上述#include指令的内置预处理器,还是使用支持更多指令的Inno Setup Preprocessor(ISPP)。语法是:。

    #preproc builtin
    #preproc ispp
    

    默认情况下,脚本使用ISPP(如果有的话),而.isl文件使用内置的预处理器。

    如果使用Unicode文件,它必须是用BOM编码的UTF-8编码。

    设置退出代码

    https://documentation.help/Inno-Setup/topic_setupexitcodes.htm

    从Inno Setup 3.0.3开始,设置程序可能会返回下列退出代码之一。

    退出代码 场景说明
    0 设置成功运行至完成,或者使用了/HELP/?命令行参数。
    1 安装时初始化失败
    2 用户在实际安装开始前点击了向导中的"取消",或者在打开的"这将安装..."信息框中选择了"否"。
    3 在准备进入下一个安装阶段时发生了致命的错误(例如,从显示预安装向导页面到实际安装过程)。除非在最不寻常的情况下,例如内存或Windows资源耗尽,否则这种情况不应该发生。
    4 在实际安装过程中发生了一个致命的错误。注意:导致显示Abort-Retry-Ignore框的错误不是致命的错误。如果用户在这样的信息框中选择了中止,将返回退出代码5。
    5 用户在实际安装过程中点击了"取消",或者在"中止-重试-忽略"框中选择了"中止"。
    6 安装过程被调试器强行终止(在IDE中使用了"运行
    7 准备安装阶段确定Setup不能继续安装。(在Inno Setup 5.4.1中首次介绍)
    8 准备安装阶段确定Setup不能继续安装,需要重新启动系统以纠正这个问题。(首次在Inno Setup 5.4.1中介绍)

    参考

  • 相关阅读:
    02、书店寻宝(一)
    01、博客爬虫
    00、下载文件
    068、Calico的网络结构是什么?(2019-04-11 周四)
    067、如何部署Calico网络 (2019-04-10 周三)
    066、Weave如何与外网通信?(2019-04-09 周二)
    065、容器在Weave中如何通信和隔离?(2019-04-08 周一)
    064、Weave网络结构分析(2019-04-04 周四)
    063、如何使用weave网络(2019-04-03 周三)
    CMD运行指令
  • 原文地址:https://www.cnblogs.com/taylorshi/p/16312983.html
Copyright © 2020-2023  润新知