Qt Installer Framework翻译(7-5)
操作
这些操作由组件和控制脚本准备,并由安装程序执行。
注意:操作是通过线程执行的。
在内部,每个操作都有一个DO步骤,包含有关安装程序的说明,以及一个UNDO步骤,包含有关卸载程序的说明。
操作总结
下表总结了可用的操作及其语法。
| 操作 | 语法 | 使用 |
|---|---|---|
| Copy | "Copy" source target |
将文件从源拷贝到目标。 |
| Move | "Move" source target |
将文件从源移动到目标。 |
| SimpleMoveFile | "SimpleMoveFile" source target |
将文件从源移动到目标。 |
| Delete | "Delete" filename |
删除filename指定的文件。 |
| Mkdir | "Mkdir" path |
创建文件夹路径path |
| Rmdir | "Rmdir" path |
移除文件夹路径path |
| CopyDirectory | "CopyDirectory" sourcePath targetPath |
将目录从源路径复制到目标路径。 |
| AppendFile | "AppendFile" filename text |
将文本追加到filename指定的文件中。 文本被视为ASCII文本。 |
| PrependFile | "PrependFile" filename text |
将文本前插到filename指定的文件中。 文本被视为ASCII文本。 |
| Replace | "Replace" file search replace |
打开文件以查找search字符串,然后将其替换为replace字符串。 |
| LineReplace | "LineReplace" file search replace |
打开文件以查找以search字符串开头的行,并将其替换为replace字符串。 行在搜索之前会修剪(开头结尾处移除空白)。 |
| Execute | "Execute" [{exitcodes}] command [parameter1 [parameter... [parameter10]]] |
执行command指定的命令。 最多可以传递10个参数。 如果这还不够,则可以使用JavaScript字符串数组。 可选的,您可以在大括号({})列出以逗号分隔的退出代码列表,并作为第一个参数进行传递,以指定成功执行时的退出代码。 默认为"{0}"。 其他可选的命名参数为:"workingdirectory=<your_working_dir>"; "errormessage=<your_custom_errormessage>" 另外,一个特殊的参数,UNDOEXECUTE,将操作的DO步骤与UNDO步骤分开。 示例:component.addOperation("Execute", "touch", "test.txt", "UNDOEXECUTE", "rm", "test.txt") |
| CreateShortcut | "CreateShortcut" filename linkname [arguments] |
创建从filename指定的文件到linkname的快捷方式。在Windows上,这将创建一个可以包含参数的.lnk文件。此外,filename可以是HTTP或FTP URL,在这种情况下会创建URL快捷方式。当前该操作未在其他平台上实现。 |
| CreateDesktopEntry | "CreateDesktopEntry" filename "key=value[ key2=value2[ key3=value3]]]" |
创建一个由freedesktop.org指定的.desktop初始化文件。 如果filename是绝对的,则桌面条目将存储在此处。否则,它将存储在$XDG_DATA_HOME/applications中指定的位置,包括由freedesktop.org定义的默认路径。 键值对将写入文件。该文件使用UTF-8编码。 |
| InstallIcons | "InstallIcons" directory [Vendorprefix] |
将目录的内容安装到freedesktop.org指定的位置。也就是说,进入$XDG_DATA_HOME/icons或$HOME/.local/share/icons。文件将从其初始位置中删除。确保在从存档中提取文件的操作之后添加此操作。如果提供了Vendorprefix,它将使用该前缀替换图标文件名中第一个破折号(-)之前的所有字符。 |
| Extract | "Extract" archive targetdirectory |
提取存档文件到目标文件夹 |
| GlobalConfig | "GlobalConfig" company application key valueor"GlobalConfig" scope company application key valueor"GlobalConfig" filename key value |
将键值存储在配置文件中。配置文件可以通过文件名(使用QSettings::NativeFormat,这可能是Windows注册表)来指定,也可以通过应用程序和公司名称来指定。将范围设置为"SystemScope"以在系统范围中创建一个条目。 注意:该操作使用QSettings存储键值对。 QSettings始终将反斜杠视为特殊字符,并且不提供用于读取或写入此类条目的API。在节或键名中不要使用斜杠("/"和"");反斜杠字符用于分隔子键。在Windows上,QSettings将'\'转换为'/',从而使它们相同。由于QSettings使用反斜杠字符来分隔子键,因此您不能读取或写入包含斜杠或反斜杠的Windows注册表项。如果需要,您应该使用Windows系统原生API。 |
| EnvironmentVariable | "EnvironmentVariable" key value [persistent [system]] |
将环境变量键key设置为值value。如果persistent设置为true,则变量将被永久设置。当前仅在Windows上支持。如果system设置为true,则永久变量将设置为系统范围的,而不仅仅是当前用户。请注意,如果将路径设置为环境变量,请使用'\'作为分隔符,例如:@Targetdir@\lib\system。 |
| RegisterFileType | "RegisterFileType" extension command [description [contentType [icon]]]. |
用extension注册要通过command打开的文件类型。可选的,您可以指定描述,内容类型和图标。当前仅在Windows上支持。 |
| ConsumeOutput | "ConsumeOutput" installerKeyName executablePath processArguments |
将运行带有参数processArguments的路径executePath上的可执行文件的输出保存到installerKeyName指定的安装程序键。可以传递其他参数。 |
| CreateLink | "CreateLink" linkPath targetPath |
在linkPath指定的位置中创建一个链接,该链接指向targetPath指定的位置。 |
| CreateLocalRepository | "CreateLocalRepository" binaryPath repoPath |
在repoPath指定的目录中创建本地存储库。对于离线安装程序,将二进制数据存储在binaryPath指定的目录中。 |
| FakeStopProcessForUpdate | "FakeStopProcessForUpdate" processlist |
在卸载过程中,将正在运行的进程与进程列表processlist中以逗号分隔的条目进行匹配。如果找到匹配项,则会显示一个消息框,要求用户在继续之前停止这些进程。 |
| License | "License" licenses |
将licenses指定的许可证文件复制到目标文件夹中名为Licenses的子文件夹。对于在包描述文件中声明的包,将自动添加此操作。 |
| MinimumProgress | "MinimumProgress" | 将进度值增加一。 |
| SelfRestart | "SelfRestart" core |
重启core指定的更新程序或包管理器。 |
| Settings | "Settings" path method key value |
设置或删除位于路径path中的设置文件的键值key和value,依赖以下method的值:set, remove, add_array_value, and remove_array_value. |
对于满足没有覆写component::createOperations()方法的组件,会自动添加Extract,License和MinimumProgress操作。另请参见component::autoCreateOperations。
如果发生错误,您可以使用devtool手动测试操作。但是,变量无法解析,因此您需要使用绝对值。
例如,要测试复制文件:
devtool --operation DO,Copy,<source>,<target>
原创造福大家,共享改变世界
献出一片爱心,温暖作者心灵

Qt Installer Framework翻译(7-5)的更多相关文章
- Qt Installer Framework翻译(5-4)
自定义安装程序 您可以使用脚本通过以下方式来自定义安装程序: > 添加Qt Installer Framework操作,该操作由脚本提供,并由安装程序执行. > 添加新页面,该页面由您在p ...
- Qt Installer Framework翻译(7-6)
工具 Qt Installer Framework包含以下工具: > installerbase > binarycreator > repogen > archivegen ...
- Qt Installer Framework翻译(3-1)
初始化安装 下图说明了安装应用程序的默认工作流程: 本节使用在macOS上运行的Your Application Installer示例来说明默认工作流程.安装程序具有本地化外观,并可感知每个受支持的 ...
- Qt Installer Framework翻译(1)
IFW概览 Qt Installer Framework 提供了一组工具和程序来创建安装程序,并在不重写源代码的情况下将它们部署到所有受支持的桌面 Qt 平台上.安装程序具有本地化外观,并且可以感知运 ...
- Qt Installer Framework翻译(4)
教程:创建安装程序 本教程描述如何为一个小项目创建一个简单的安装程序: 本节描述创建安装程序所必须完成的步骤: 创建一个包文件夹,其中将包含所有配置文件和可安装的包. 创建一个配置文件,其中包含有关如 ...
- Qt Installer Framework翻译(7-4)
组件脚本 对于每个组件,您可以指定一个脚本,来准备要由安装程序执行的操作.脚本格式必须与QJSEngine兼容. 构造 脚本必须包含安装程序在加载脚本时创建的Component对象. 因此,脚本必须至 ...
- Qt Installer Framework翻译(7-8)
C++ API C ++ API文档是为开发Qt Installer Framework的开发人员编写的. 它描述了内部API,因此没有兼容性保证. 此外,该文档尚在开发中,因此缺少部分内容,而其他部 ...
- Qt Installer Framework翻译(0)
本人主攻C++和Qt. 以前一直看人家的博客,找资料学习.今天我也终于开博客啦. 最近在研究Qt install framework(IFW)应用程序安装框架. google也没发现有正儿八经的官方文 ...
- Qt Installer Framework翻译(7-2)
包文件夹 安装程序包含的组件,要么是内嵌的,要么可以从远程存储库加载.在这两种情况下,都需要为组件使用一种安装程序可以读取的文件格式和结构. 包文件夹结构 将所有组件放在相同的根文件夹中,即包文件夹. ...
- Qt Installer Framework翻译(7-3)
控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许 ...
随机推荐
- Java中大量if...else语句的消除替代方案
在我们平时的开发过程中,经常可能会出现大量If else的场景,代码显的很臃肿,非常不优雅.那我们又没有办法处理呢? 针对大量的if嵌套让代码的复杂性增高而且难以维护.本文将介绍多种解决方案. 案例 ...
- k8s生产环境部署
建议配置: 服务器 900G*2 SSD 安装操作系统 CPU 16核心*2 40G网卡*2 RAM 64G*8 操作系统建议:Centos7.4/Centos 7.6 不建议使用CentOS8 分布 ...
- 闲着没事,做个chrome浏览器插件,适合初学者
时光偷走的,永远都是我们眼皮底下看不见的珍贵. 本插件功能:替换掉网页中的指定图片的src地址. 使用插件前: 使用插件后: 鲜花(闲话):这个网站的不加水印的图片连接被保存在,图片的data-ima ...
- Hibernate各种查询方式及查询策略(转)
转自:https://www.cnblogs.com/xujingyang/p/6734203.html 在了解Hibernate的基本知识后,重点让我们看下相关查询方式和查询优化策略吧! 话不多说, ...
- 在Spring Boot中使用Docker在测试中进行高级功能测试
最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想. 想更多地了解Spring Boot项目中的功能测试吗?这篇文章带你了解有关在测试中使用Docker容器的更多信息. 本文 ...
- .bash_profile 文件
1,当 .bash_profile 文件输入有误的时候,所有命令行都会不好使 输入 export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin ...
- 使用springboot + druid + mybatisplus完成多数据源配置
一. 简介 1. 版本 springboot版本为2.0.3.RELEASE,mybatisplus版本为2.1.9, druid版本为1.1.9,swagger版本为2.7.0 2. 项目地址 ...
- NFS服务介绍及实验
一.什么是NFS NFS 是 Network File System 的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由 Sun 公司开发,于 1984 年向外公布.功能是通过网络让不同的机器 ...
- JVM探秘:内存分配与回收策略
本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 内存分配一般关注的是对象在堆上分配的情况,对象主要分配在新生代的Eden区中,如果启用 ...
- HDU2089 不要62 题解 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题目大意:求区间 \([l,r]\) 范围内不包含数字"4"且不包含连续的数 ...