Inno Setup 3 :语法解析(二

发布时间:2019-07-12 09:48:32编辑:auto阅读(1399)

      接上回。安装脚本段用于解析脚本中各个段的含义及使用方法。其包括[Setup]段、[Files]段、[Run]段等共17个字段,下面逐一进行分析。

    [Setup]

      [Setup]段包含用于安装程序和卸载程序的全局设置。某些提示对于你创建的任何安装程序都是必须的。示例如下:

    [Setup]
    AppName=My Program
    AppVerName=My Program Version 3.1
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program

      按默认,指令值的所有首位或末位无显示字符将被分离。这可以通过质控的值包含在双引号 "" 中避免。
      [Setup]段中可以包含编译器相关指令(如:SourceDir、OutoutDir、OutputBaseFileName等)和安装程序相关指令(如:AppId、AppName、AppVerName、DefaultGroupName等)。
      其中,[Setup]段必须包含的指令如下:

    • AppName
    • AppVerName
    • DefaultDirName

    [Types]

      [Types]段是可选的,用来定义安装程序在选择组件页面时可供选择的所有安装类型。如果你在[Components]段定义了组件,但没有定义类型,在编译时将创建一个默认的安装类型设置。如果你正在使用默认(简体中文)消息文件,这些类型等同于下面示例中的类型。[Types]段示例如下:

    [Types]
    Name: "full"; Description: "Full installation"
    Name: "compact"; Description: "Compact installation"
    Name: "custom"; Description: "Custom installation"; Flags: iscustom

    下列是[Types]段所有支持的参数列表:

    • Name(必需的)
      类型的内部名字。用于定义[Components]段中组件参数,告诉安装程序组件属于哪个类型。示例:

      Name: "full"
    • Description(必需的)
      类型的描述,可以包含常量。这个描述在安装期间显示。示例:

      Description: "完全安装"
    • Flags
      这个参数是额外选项是设置,多个选项可以使用空格隔开。支持羡慕的选项:
       iscustom :
       告诉安装程序这个类型是自定义类型。用户在安装期间手动改变了组件选择,安装程序会将安装类型设置为自定义类型。注意,如果未定义自定义类型,安装程序将只允许用户选择一个安装类型,并且不能手动选择/取消选择组件。仅一种类型可以包含该标记。示例如下:

      Flags: iscustom

      [Components]

        [Components]段是可选的,它定义安装程序向导的选择组件页面中显示的所有组件,以便于用户定制安装类型。
        只用这一个组件不会做任何事情,它需要“链接”到其他安装目录。示例如下:

      [Components]
      Name: "main"; Description: "主文件"; Types: full compact custom; Flags: fixed
      Name: "help"; Description: "帮助文件"; Types: full
      Name: "help\english"; Description: "English"; Types: full
      Name: "help\chinese"; Description: "简体中文"; Types: full

      该示例生成四个组件:"main"组件在最终用户选择一个名为"full"或"compact"的类型时安装。带有两个子组件的"help"组件仅在用户选择"full"类型时安装。
      下列是所支持的参数列表:

    • Name(必须的)
      组件的内部名称。
      在组件名称中的 \ 或 / 字符符合计数是调用组件的层次。任何在层次 1 或更高层次的组件是子组件。在子组件前列出的小于子组件层次的组件是上级组件。其他有相同上级组件的组件之间称为同级组件。
      如果上级组件未选定,则不能选定它的子组件。如果所有的子组件均未选定,则上级组件也不能选定,除非Components参数引用上级组件或上级组件包含checkablealone标记。
      如果同级组件已经标有exclusive标记,则它们之中只有一个可选。示例如下:

      Name: "help"
    • Description(必须的)
      组件的描述,可以包含常量。这个描述用于在安装期间显示给用户参考。示例如下:

      Description: "帮助文件"
    • Types
      用空格隔开所属组件的类型列表。如果用户从这个列表中选择了一个类型,这个组件将被安装。
      如果未使用fixed标记(见下文),这个列表中的任何自定义类型(使用iscustom标记的类型)均会被安装程序忽略。示例如下:
      Types: full compact
    • ExtraDiskSpaceRequired
      这个组件所需要的额外磁盘空间,类似于[Setup]段中的ExtrDiskSpaceRequired。示例如下:

      ExtraDiskSpaceRequired: 0
    • Flags
      这个参数是额外选项设置。多个选项可以使用空格隔开。其支持下面的选项:
       checkblealone:
       指定当一个组件的所有子组件未被选中时,该组件可以被选中。默认的,如果没有Components参数直接引用到该组件,所有未选中的子组件都将导致该组件被设置为未选中状态。
       dontinheritcheck:
       指定当该组件被上级选中时,不影响组件选择状态。这不影响对顶层的组件,且该标记不能与exclusive标记一起使用。
       exclusive:
       告诉安装程序该组件与其他拥有exclusive标记的组件是互斥的。
       fixed:
       告诉安装程序在安装流程中该组件不提供选择项供用户选择。
       restart:
       告诉安装程序若安装该组件,则无论是否需要,都告诉用户重启电脑。(例如,[Files]段条目用了restartreplace标记),这有点像AlwaysRestart,但并不是每个组件都需如此。
       diableenouninstallwarning:
       如果这个组件在电脑上已安装,则重建安装时用户取消安装该组件,该标记告诉安装程序不进行警告提示用户将不卸载该组件。
       根据组件的复杂性,可使用[installDelete]段和该标记来自动卸载未选定的组件。
      示例如下:
      Flags: fixed

      [Tasks]

        [Tasks]段是可选的,它定义安装程序执行安装期间由用户定制的任务。这些任务以选项框和单选项形式出现在附加任务向导页中。
        该段本身是不做任何事情的,它需要“链接”到其他安装条目。示例如下:

      [Tasks]
      Name: desktopicon; Description: "创建桌面快捷方式(&D)"; GroupDescription: "添加快捷方式:"; components: main
      Name: Desktopicon\common; Description: "对于所有用户"; GroupDescription: "添加快捷方式:"; Components: main; Flags: exclusive
      Name: desktopicon\user; Description: "仅对当前用户"; GroupDescription: "添加快捷方式: quicklaunchicon; Description: "创建快速启动栏快捷方式(&Q)"; GroupDescription: "添加快捷方式:"; Components: main; Flags: unchecked
      Name: associate; Description: "文件关联(&A)"; GroupDescription: "其他任务"; Flags: unchecked

      下面是所支持的参数列表:

    • Name(必需的)
        任务的内部名字。
        在组件名称中的 \ 或 / 字符符合计数是调用组件的层次。任何在层次 1 或更高层次的组件是子组件。在子组件前列出的小于子组件层次的组件是上级组件。其他有相同上级组件的组件之间称为同级组件。
        如果上级组件未选定,则不能选定它的子组件。如果所有的子组件均未选定,则上级组件也不能选定,除非Components参数引用上级组件或上级组件包含checkablealone标记。
        如果同级组件已经标有exclusive标记,则它们之中只有一个可选。示例如下:

      Name: "desktopicon"
      • Description(必需的)
          任务的描述,可包含常量。该描述用于在安装期间进行显示。示例如下:

        Description: "创建桌面快捷方式(&D)"
      • GroupDescription
          任务组的描述,可包含常量。拥有相同描述的连续任务将会被分配到同一个带文字标签的组中。该文字标签用于显示任务组的描述信息。示例如下:

        GroupDescription: "附加图标"
      • Components
        该任务所属的组件列表,列表中组件用空格隔开的。当用户选择一列表中组件时,该任务将被显示;不带组件参数的任务总是被显示。示例如下:

        Components: main
      • Flags
        这个参数是额外选项设置。多个选项可以使用空格隔开。其支持下面的选项:
         checkblealone:
         指定当一个组件的所有子组件未被选中时,该组件可以被选中。默认的,如果没有Components参数直接引用到该组件,所有未选中的子组件都将导致该组件被设置为未选中状态。
         dontinheritcheck:
         指定当该组件被上级选中时,不影响组件选择状态。这不影响对顶层的组件,且该标记不能与exclusive标记一起使用。
         exclusive:
         告诉安装程序该组件与其他拥有exclusive标记的组件是互斥的。
         fixed:
         告诉安装程序在安装流程中该组件不提供选择项供用户选择。
         restart:
         告诉安装程序若安装该组件,则无论是否需要,都告诉用户重启电脑。(例如,[Files]段条目用了restartreplace标记),这有点像AlwaysRestart,但并不是每个组件都需如此。
         diableenouninstallwarning:
         如果这个组件在电脑上已安装,则重建安装时用户取消安装该组件,该标记告诉安装程序不进行警告提示用户将不卸载该组件。
         根据组件的复杂性,可使用[installDelete]段和该标记来自动卸载未选定的组件。
        示例如下:
        Flags: unchecked

      [Dirs]

      [Files]

      [Icons]

      [INI]

      [InstallDelete]

      [Languages]

      [Messages]

      [CustomMessages]

      [LangOptions]

      [Registry]

      [Run]

      [UninstallDelete]

      [UninstallRun]

关键字

上一篇: python_类属性和实例属性

下一篇: H3C OSPF