安装程序

提供对 Qt 安装程序框架核心功能的访问。 更多信息...

信号

方法

详细描述

信号文档

aboutCalculateComponentsToInstall()

在计算要安装的组件的顺序列表之前发出。

注意:相应的处理程序是 onAboutCalculateComponentsToInstall.


aboutCalculateComponentsToUninstall()

在计算要卸载的组件的顺序列表之前发出。

注意:相应的处理程序是 onAboutCalculateComponentsToUninstall.


componentAdded(Component component)

发出新根组件被添加时。

注意:相应的处理程序是 onComponentAdded.


coreNetworkSettingsChanged()

在更改网络设置时发出。

注意:相应的处理程序是 onCoreNetworkSettingsChanged.


currentPageChanged(int page)

在当前 页面 发生变化时发出。

注意:相应的处理程序是 onCurrentPageChanged.


downloadArchivesFinished()

在成功下载所有组件的数据存档后发出。

注意:相应的处理程序是 onDownloadArchivesFinished.


finishAllComponentsReset(list<Component> rootComponents)

当新根组件列表 rootComponents 已更新时触发。

注意:相应的处理程序是 onFinishAllComponentsReset.

另请参阅startAllComponentsReset().


finishButtonClicked()

在用户点击安装程序的 完成 按钮时发出。

注意:相应的处理程序是 onFinishButtonClicked.


finishUpdaterComponentsReset(list<Component> componentsWithUpdates)

当可用的远程更新组件列表 componentsWithUpdates 被更新时触发。

注意:相应的处理器是 onFinishUpdaterComponentsReset


finishedCalculateComponentsToInstall()

在计算安装组件的有序列表后发出。

注意:相应的处理器是 onFinishedCalculateComponentsToInstall


finishedCalculateComponentsToUninstall()

在计算卸载组件的有序列表后发出。

注意:相应的处理器是 onFinishedCalculateComponentsToUninstall


installationFinished()

当安装完成时触发。

注意:相应的处理器是 onInstallationFinished

另请参阅:installationStarted() 和 installationInterrupted()。


installationInterrupted()

当安装被中断(取消)时触发。

注意:相应的处理器是 onInstallationInterrupted

另请参阅:interrupt(),installationStarted() 和 installationFinished()。


installationStarted()

当安装开始时触发。

注意:相应的处理器是 onInstallationStarted

另请参阅:installationFinished() 和 installationInterrupted()。


metaJobInfoMessage(string message)

在有关于与远程仓库通信的信息更新时触发,message

注意:相应的处理器是 onMetaJobInfoMessage


metaJobProgress(int progress)

在与远程仓库通信时触发 progress 更新。进度从0到100。

注意:相应的处理器是 onMetaJobProgress


metaJobTotalProgress(int progress)

当与远程仓库通信的总体 progress 值发生变化时触发。

注意:相应的处理器是 onMetaJobTotalProgress


offlineGenerationFinished()

当离线安装器生成完成时触发。

注意:相应的处理器是 onOfflineGenerationFinished

另请参阅:offlineGenerationStarted()。


offlineGenerationStarted()

当离线安装器生成开始时触发。

注意:相应的处理器是 onOfflineGenerationStarted

另请参阅:offlineGenerationFinished()。


setAutomatedPageSwitchEnabled(bool request)

当从 PerformInstallation 页面自动跳转到 InstallationFinished 页面被启用(request = true)或禁用(request = false)时触发。

例如,当用户展开或折叠 PerformInstallation 页面的 详细信息部分时,自动切换会被自动禁用。

注意:相应的处理器是 onSetAutomatedPageSwitchEnabled


setValidatorForCustomPageRequested(Component component, string name, string callbackName)

请求为指定 namecallbackName 的自定义页面设置验证器。在调用 setValidatorForCustomPage() 时触发。

注意:相应的处理器是 onSetValidatorForCustomPageRequested


startAllComponentsReset()

当组件列表开始更新时触发。

注意: 对应的处理程序是 onStartAllComponentsReset.

另请参阅 finishAllComponentsReset().


startUpdaterComponentsReset()

在远程更新过程中,在组件开始更新时触发。

注意: 对应的处理程序是 onStartUpdaterComponentsReset.


statusChanged(Status status)

当安装程序状态status发生变化时发出。

注意: 对应的处理程序是 onStatusChanged.


titleMessageChanged(string title)

当安装程序状态(在执行安装页面)的文本更改为title时发出。

注意: 对应的处理程序是 onTitleMessageChanged.


uninstallationFinished()

在卸载完成后触发。

注意: 对应的处理程序是 onUninstallationFinished.

另请参阅 uninstallationStarted().


uninstallationStarted()

在开始卸载时触发。

注意: 对应的处理程序是 onUninstallationStarted.

另请参阅 uninstallationFinished().


updateFinished()

在更新完成后触发。

注意: 对应的处理程序是 onUpdateFinished.


valueChanged(string key, string value)

keyvalue发生变化时发出。

注意: 对应的处理程序是 onValueChanged.

另请参阅 setValue().


wizardPageInsertionRequested(Widget widget, WizardPage page)

当自定义widget通过addWizardPage即将插入到page中时发出。

注意: 对应的处理程序是 onWizardPageInsertionRequested.


wizardPageRemovalRequested(Widget widget)

removeWizardPage移除widget时发出。

注意: 对应的处理程序是 onWizardPageRemovalRequested.


wizardPageVisibilityChangeRequested(bool visible, int page)

当id为page的页面的可见性变为visible时发出。

注意: 对应的处理程序是 onWizardPageVisibilityChangeRequested.

另请参阅 setDefaultPageVisible().


wizardWidgetInsertionRequested(Widget widget, WizardPage page, int position)

addWizardPageItemposition顺序将widget插入到page中时发出。

注意: 对应的处理程序是 onWizardWidgetInsertionRequested.


wizardWidgetRemovalRequested(Widget widget)

removeWizardPageItem移除widget时发出。

注意: 对应的处理程序是 onWizardWidgetRemovalRequested.


方法文档

void addUserRepositories(stringlist repositories)

注册额外的repositories

另请参阅 setTemporaryRepositories().


boolean addWizardPage(Component component, string name, int page)

将组件 component 注册的对象名 name 的小部件作为新页面添加到安装程序的 GUI 工作流程向导中。小部件添加到 page 之前。

有关 page 的可能值,请参阅 控制器脚本

如果操作成功返回 true

另请参阅removeWizardPage() 和 setDefaultPageVisible()。


boolean addWizardPageItem(Component component, string name, int page, int position)

将组件 component 注册的对象名 name 的小部件作为 GUI 元素添加到安装程序的 GUI 工作流程向导中。小部件将在 page 上按 position 顺序添加。如果同一页面上添加了多个小部件,则位置号码较低的组件将显示在顶部。

有关 page 的可能值,请参阅 控制器脚本

另请参阅removeWizardPageItem() 和 wizardWidgetInsertionRequested()。


void autoAcceptMessageBoxes()

自动接受所有用户的消息框。

另请参阅autoRejectMessageBoxes() 和 setMessageBoxAutomaticAnswer()。


void autoRejectMessageBoxes()

自动拒绝所有用户的消息框。

另请参阅autoAcceptMessageBoxes() 和 setMessageBoxAutomaticAnswer()。


boolean calculateComponentsToInstall()

根据当前运行模式计算要安装的组件顺序列表。同时解决自动安装的依赖项。在开始计算之前,会发射 aboutCalculateComponentsToInstall() 信号,完成所有计算后,发射 finishedCalculateComponentsToInstall() 信号。


boolean calculateComponentsToUninstall()

根据当前运行模式计算要卸载的组件列表。自动安装的依赖项尚未解决。在开始计算之前,发射 aboutCalculateComponentsToUninstall() 信号,完成所有计算后,发射 finishedCalculateComponentsToUninstall() 信号。始终返回 true


void cancelMetaInfoJob()

取消从远程仓库检索元信息。


array components(string regexp)

返回当前所有可用的组件数组。如果尚未获取存档的元数据,则数组将为空。可选地,可以使用 regexp 表达式进一步过滤列出的包。

另请参阅componentfinishAllComponentsReset() 和 finishUpdaterComponentsReset()。


boolean containsFileDialogAutomaticAnswer(string identifier)

如果 ID 为 identifierQFileDialog 有自动答案设置,则返回 true

另请参阅setFileDialogAutomaticAnswer() 和 removeFileDialogAutomaticAnswer()。


boolean containsValue(string key)

如果安装程序包含 key 的值,则返回 true

另请参阅 valuesetValuevalueChanged


void deselectComponent(string id)

取消选中具有 id 的组件。


void dropAdminRights()

放弃通过 gainAdminRights 获得的管理员权限。

另请参阅 gainAdminRights


string environmentVariable(string name)

返回环境变量 name 的内容。如果未设置环境变量,则返回空字符串。


array execute(string program, stringlist arguments = undefined, string stdIn = "", string stdInCodec = "latin1", string stdOutCodec = "latin1")

在新进程中启动程序 program 并带参数 arguments,等待其完成。

stdIn 作为标准输入发送到应用程序。

stdInCodec 用于将输入字符串转换为字节以写入应用程序标准输入的编解码器名称。

stdOutCodec 用于将应用程序写入的标准输出数据转换为字符串的编解码器名称。

如果程序无法执行,则返回空数组;否则,将命令输出作为第一条项返回,并将返回码作为第二条。

注意:在 Unix 上,输出仅为 stdout 的输出,而不是 stderr。

另请参阅 executeDetached


boolean executeDetached(string program, stringlist arguments = undefined, string workingDirectory = "")

在新进程中启动程序 program 并带参数 arguments,然后与它断开连接。成功时返回 true;否则返回 false。如果安装程序退出,断开的进程将继续运行。

注意:包含空格的参数不会作为独立的参数传递到进程。

Unix: 启动的进程将在其自己的会话中运行并表现为守护进程。

Windows: 包含空格的参数将用引号包裹。启动的进程将作为常规的独立进程运行。

进程将在 workingDirectory 目录中启动。


boolean fileExists(string filePath)

如果 filePath 存在,则返回 true;否则返回 false

注意:如果文件是指向不存在的文件的符号链接,则会返回 false


string findLibrary(string name, stringlist paths = [])

paths 中查找名为 name 的库。如果 paths 为空,则用平台依赖的默认路径填充。返回的结果路径。

此方法可用作脚本检查外部依赖关系。

另请参阅 findPath.


string findPath(string name, stringlist paths = [])

尝试在 paths 之一中查找文件名 name。返回结果路径。

此方法可用作脚本检查外部依赖关系。

另请参阅 findLibrary.


string fromNativeSeparators(string path)

使用 '/' 作为文件分隔符返回 path

在 Unix 平台上,返回的字符串与参数相同。

注意: 此函数不解析预定义变量,例如 @TargetDir@。要转换分隔符到预定义变量,请使用 installer.value() 先解析变量。

另请参阅 toNativeSeparators() 和 value().


boolean gainAdminRights()

尝试获取管理员权限。成功时返回 true

另请参阅 dropAdminRights().


bool hasAdminRights()

如果安装程序具有管理员权限则返回 true。例如,如果安装程序以 root 账户启动,或内部管理员权限提升已激活。

否则返回 false

另请参阅 gainAdminRights() 和 dropAdminRights().


void interrupt()

取消正在进行的安装。

另请参阅 installationInterrupted.


boolean isCommandLineDefaultInstall()

如果安装是使用默认组件执行,则返回 true


boolean isCommandLineInstance()

如果以命令行实例运行,则返回 true


boolean isFileExtensionRegistered(string extension)

如果文件 extension 在 Windows 注册表中已注册,则返回 false。在其他所有平台上都返回 false


boolean isInstaller()

如果应用程序、二进制文件或可执行文件以安装程序模式执行,则返回 true

另请参阅 isUninstallerisUpdaterisPackageManager.


boolean isOfflineGenerator()

如果应用程序以离线生成模式执行,则返回 true


boolean isOfflineOnly()

如果这是一个仅离线的安装程序,则返回 true


boolean isPackageManager()

如果应用程序、二进制文件或可执行文件以包管理器模式执行,则返回 true

另请参阅 setPackageManagerisInstallerisUninstallerisUpdater


boolean isPackageViewer()

如果当前安装程序作为包查看器执行,则返回 true


布尔值 isProcessRunning(字符串 name)

如果具有name的进程正在运行,则返回true。在Windows上,比较不区分大小写。


布尔值 isUninstaller()

如果应用程序、二进制或可执行文件以卸载模式执行,则返回true

另请参阅setUninstallerisInstallerisUpdaterisPackageManager


布尔值 isUpdater()

如果应用程序、二进制或可执行文件以更新模式执行,则返回true

另请参阅setUpdaterisInstallerisUninstallerisPackageManager


布尔值 isUserSetBinaryMarker()

如果魔法二进制标记被用户设置,则返回true


字符串 key(字符串 value)

返回value的安装程序密钥。如果value未知,则返回空字符串。


布尔值 killProcess(字符串 absoluteFilePath)

如果可以终止具有absoluteFilePath的进程或进程未运行,则返回true

注意:此函数以半阻塞方式实现(以保持主线程绘制UI)。


void languageChanged()

调用所有组件的languangeChanged。


布尔值 localInstallerBinaryUsed()

如果安装程序在Windows上运行,并且是从远程文件系统驱动器启动的,则返回false。否则返回true

另请参阅setDependsOnLocalInstallerBinary


布尔值 performOperation(字符串 name, stringlist arguments)

立即以arguments执行操作name


字符串 readConsoleLine(字符串 title, 整型 maxlen)

title打印到控制台,并读取控制台输入。函数使安装程序冻结并等待用户输入。函数返回用户输入的控制台行。最大允许行长度设置为maxlen。如果行长度超过此值,则行将在maxlen字符后拆分。如果maxlen为0,则行可以是任何长度。

注意:此函数只能在无GUI的命令行实例中安装时调用。


字符串 readFile(字符串 filePath, 字符串 codecName)

使用由codecName指定的编码返回文件filePath的内容。文件以文本模式读取,即换行终止符转换为本地编码。

注意:如果文件不存在或在读取文件时发生错误,则返回空字符串。


布尔型 recalculateAllComponents()

重新计算所有要安装和卸载的组件。如果成功则返回 true,否则返回 false


void removeFileDialogAutomaticAnswer(string identifier)

从具有 ID identifierQFileDialog 中移除自动答案。

另请参阅:setFileDialogAutomaticAnswer()。


布尔型 removeWizardPage(Component component, string name)

通过 component 在安装程序的向导中移除了具有 objectName() name 的小部件。

如果操作成功返回 true

另请参阅:addWizardPage(),setDefaultPageVisible() 以及 wizardPageRemovalRequested()。


布尔型 removeWizardPageItem(Component component, string name)

通过 component 在安装程序的向导中移除了具有 objectName() name 的小部件。

另请参阅:addWizardPageItem()。


浮点型 requiredDiskSpace()

返回安装后所需额外磁盘空间(以字节为单位)。

另请参阅:requiredTemporaryDiskSpace()。


浮点型 requiredTemporaryDiskSpace()

返回安装过程中所需的估计磁盘空间(以字节为单位)。

另请参阅:requiredDiskSpace()。


布尔型 runInstaller()

运行安装程序。如果成功则返回 true,否则返回 false


布尔型 runOfflineGenerator()

运行离线生成器。如果成功则返回 true,否则返回 false


布尔型 runPackageUpdater()

运行软件包更新程序。如果成功则返回 true,否则返回 false


布尔型 runUninstaller()

运行卸载程序。如果成功则返回 true,否则返回 false


void selectComponent(string id)

选择具有 id 的组件。


void setAutoAcceptLicenses()

自动接受所选组件所需的所有许可协议。这可以用于跳过命令行许可接受查询。接受的单独许可名称仍会打印到控制台。


void setCanceled()

取消安装。


void setCompleteUninstallation(bool complete)

将卸载设置为 complete。如果 complete 为 false,则仅卸载用户取消选择的组件。此选项仅适用于卸载。


布尔型 setDefaultPageVisible(int page, boolean visible)

设置具有 ID page 的默认页面的可见性为 visible。也就是说,将其从向导中移除或添加到向导中。这对于在启动安装程序时已存在的页面有效。

返回 true

另请参阅:addWizardPage() 和 removeWizardPage()。


void setDependsOnLocalInstallerBinary()

确保安装程序从本地驱动器运行。否则,用户将收到适当的错误消息。

注意: 此功能仅适用于Windows。

另请参阅localInstallerBinaryUsed


void setFileDialogAutomaticAnswer(string identifier, string value)

自动将现有目录或文件名value设置为ID为identifierQFileDialog

另请参阅removeFileDialogAutomaticAnswer


void setInstaller()

强制安装程序上下文。

另请参阅isInstallersetUpdatersetUninstallersetPackageManager


void setInstallerBaseBinary(string path)

设置使用维护工具时写入的installerbase二进制文件。如果二进制文件的更新可用,请设置path

如果没有设置,将使用正在运行的安装程序或卸载程序的执行代码段。


void setMessageBoxAutomaticAnswer(string identifier, int button)

自动关闭ID为identifier的消息框,就如同用户按了button一样。

这可以用于无人值守(自动)安装。

另请参阅QMessageBoxautoAcceptMessageBoxes()和autoRejectMessageBoxes


void setPackageManager()

强制包管理器上下文。

另请参阅isPackageManager


void setSharedFlag(string key, boolean value)

设置具有名称key的共享标志为value。这是在脚本之间共享信息的选项之一。

自2.0.0版本以来已弃用。请使用setValue代替。

另请参阅sharedFlag


void setTemporaryRepositories(stringlist repositories, boolean replace)

为此安装程序或更新程序的实例设置额外的repositories。如果replacetrue,将替换现有存储库。将调用它后再将其删除。

另请参阅addUserRepositories


void setUninstaller()

强制卸载程序上下文。

另请参阅isUninstallersetUpdatersetPackageManagersetInstaller


void setUpdater()

强制更新程序上下文。

另请参阅isUpdatersetUninstallersetPackageManagersetInstaller


void setValidatorForCustomPage(组件 组件, string 名称, string 回调名称)

为指定名称和回调名称的定制页设置验证器。

另请参阅setValidatorForCustomPageRequested


void setValue(string , string )

设置安装器值到 .

另请参阅valuecontainsValuevalueChanged


boolean sharedFlag(string )

返回名为 的共享标志。这是在脚本之间共享信息的一种选项。

自 2.0.0 版本起已废弃。请使用 valuevalues 替代。

另请参阅setSharedFlag


string toNativeSeparators(string 路径)

路径 中的 '/' 分隔符转换为适合底层操作系统的分隔符。

在 Unix 平台上,返回的字符串与参数相同。

注意: 此函数不解析预定义变量,例如 @TargetDir@。要转换分隔符到预定义变量,请使用 installer.value() 先解析变量。

另请参阅fromNativeSeparatorsvalue


string value(string , string 默认值 = "", int 格式 = 0)

返回 的安装器值。如果系统未知 ,则返回 默认值。在 Windows 上, 可以是注册表项。默认情况下,格式QSettings::NativeFormat。对于从在 64 位 Windows 上运行的 64 位应用程序访问 32 位系统注册表,请使用 QSettings::Registry32Format。对于从在 64 位 Windows 上运行的 32 位应用程序访问 64 位系统注册表,请使用 QSettings::Registry64Format

另请参阅setValuecontainsValuevalueChanged


stringlist values(string , stringlist 默认值 = [])

返回 的安装器值。如果系统未知 ,则返回 默认值。在 Windows 上, 可以是注册表项。

另请参阅value


boolean versionMatches(string 版本, string 要求)

版本匹配要求时返回true要求可以是固定的版本号,也可以是前面加上比较运算符 '>'、'>='、'<'、'<=' 和 '='。


©2021 Qt公司有限公司。本文件中包含的文档贡献者是各自所有者的版权。本文件提供的文档是按照自由软件基金会发布的GNU自由文档许可证版本1.3的条款授权使用的。Qt公司、Qt及其相关标志是芬兰和/或其他国家的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。