修改提取安装示例
在组件脚本中使用提取存档钩子来修改目标路径。
修改提取安装展示了如何覆盖 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
这将创建当前目录中的安装程序。
文件
- modifyextract/config/config.xml
- modifyextract/modifyextract.pro
- modifyextract/packages/org.qtproject.ifw.example.modifyextract/data/my_content/test.txt
- modifyextract/packages/org.qtproject.ifw.example.modifyextract/meta/installscript.js
- modifyextract/packages/org.qtproject.ifw.example.modifyextract/meta/package.xml
©2021年Qt公司有限公司提供的本文档贡献属各自所有者的版权。此处提供的文档是在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下授权的,详情请访问http://www.gnu.org/licenses/fdl.html。Qt公司、Qt及其相应标志是芬兰及全球其他国家的商标,所有其他商标均属各自所有者所有。