修改提取安装示例

在组件脚本中使用提取存档钩子来修改目标路径。

修改提取安装展示了如何覆盖 component.createOperationsForArchive() 函数以便将组件安装到修改后的路径。

配置示例安装程序

安装程序配置文件,config.xml,位于 config 目录中,指定了安装程序中使用的文本和默认值

  • <Name> 元素设置应用程序名称并将其添加到页面名称和介绍文本。
  • <Version> 元素设置应用程序版本号。
  • <Title> 元素设置安装程序名称并显示在标题栏上。
  • <Publisher> 元素设置软件的发布者(例如在 Windows 控制面板中显示的那样)。
  • <StartMenuDir> 元素设置产品在 Windows 开始 菜单中的默认程序组名称。
  • <TargetDir> 元素设置默认目标目录位置为当前用户主目录中的 IfwExamples 目录内(因为它使用了预定义变量 ] @HomeDir@,作为值的一部分)。有关更多信息,请参阅 预定义变量
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>Modify Extract Installer Example</Name>
    <Version>1.0.0</Version>
    <Title>Modify Extract Installer Example</Title>
    <Publisher>Qt-Project</Publisher>
    <StartMenuDir>Qt IFW Examples</StartMenuDir>
    <TargetDir>@HomeDir@/IfwExamples/modifyextract</TargetDir>
</Installer>

创建示例包信息文件

安装程序包信息文件,package.xml,位于 meta 目录中,指定了可安装的组件

  • <DisplayName> 元素设置组件的人类可读名称。
  • <Description> 元素设置组件的人类可读描述。
  • <Version> 元素设置组件的版本号。
  • <ReleaseDate> 元素设置此组件版本的发布日期。
  • <Default> 元素设置为 true 以在安装程序中预选组件。
  • <Script> 元素指定要加载并执行操作的正则表达式文件名。
<?xml version="1.0"?>
<Package>
    <DisplayName>Modify extract operation</DisplayName>
    <Description>A component that uses a hook to modify the extract operation.</Description>
    <Version>1.0.1</Version>
    <ReleaseDate>2014-12-19</ReleaseDate>
    <Default>true</Default>
    <Script>installscript.js</Script>
</Package>

修改目标路径

在 installscript.js 中,我们覆盖了默认的 component.createOperationsForArchive() 实现以便能够使用自定义参数注册 Extract 操作

Component.prototype.createOperationsForArchive = function(archive)
{
    component.addOperation("Extract", archive, "@TargetDir@/extractToAnotherPath");
}

生成示例安装程序

要创建示例安装程序,请在命令行中切换到示例源目录并输入以下命令

  • 在 Windows 上
    ..\..\bin\binarycreator.exe -c config\config.xml -p packages installer.exe
  • 在 Linux 或 macOS 上
    ../../bin/binarycreator -c config/config.xml -p packages installer

这将创建当前目录中的安装程序。

文件

©2021年Qt公司有限公司提供的本文档贡献属各自所有者的版权。此处提供的文档是在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下授权的,详情请访问http://www.gnu.org/licenses/fdl.html。Qt公司、Qt及其相应标志是芬兰及全球其他国家的商标,所有其他商标均属各自所有者所有。