安装程序
提供对 Qt 安装程序框架核心功能的访问。 更多信息...
信号
- aboutCalculateComponentsToInstall()
- aboutCalculateComponentsToUninstall()
- componentAdded(Component component)
- coreNetworkSettingsChanged()
- currentPageChanged(int page)
- downloadArchivesFinished()
- finishAllComponentsReset(list<Component> rootComponents)
- finishButtonClicked()
- finishUpdaterComponentsReset(list<Component> componentsWithUpdates)
- finishedCalculateComponentsToInstall()
- finishedCalculateComponentsToUninstall()
- installationFinished()
- installationInterrupted()
- installationStarted()
- metaJobInfoMessage(string message)
- metaJobProgress(int progress)
- metaJobTotalProgress(int progress)
- offlineGenerationFinished()
- offlineGenerationStarted()
- setAutomatedPageSwitchEnabled(bool request)
- setValidatorForCustomPageRequested(Component component, string name, string callbackName)
- startAllComponentsReset()
- startUpdaterComponentsReset()
- statusChanged(Status status)
- titleMessageChanged(string title)
- uninstallationFinished()
- uninstallationStarted()
- updateFinished()
- valueChanged(string key, string value)
- wizardPageInsertionRequested(Widget widget, WizardPage page)
- wizardPageRemovalRequested(Widget widget)
- wizardPageVisibilityChangeRequested(bool visible, int page)
- wizardWidgetInsertionRequested(Widget widget, WizardPage page, int position)
- wizardWidgetRemovalRequested(Widget widget)
方法
- void addUserRepositories(stringlist repositories)
- boolean addWizardPage(Component component, string name, int page)
- boolean addWizardPageItem(Component component, string name, int page, int position)
- void autoAcceptMessageBoxes()
- void autoRejectMessageBoxes()
- boolean calculateComponentsToInstall()
- boolean calculateComponentsToUninstall()
- void cancelMetaInfoJob()
- array components(string regexp)
- boolean containsFileDialogAutomaticAnswer(string identifier)
- 布尔类型 containsValue(字符串 key)
- 无返回值 deselectComponent(字符串 id)
- 无返回值 dropAdminRights()
- 字符串 environmentVariable(字符串 name)
- 数组 execute(字符串 program, 字符串列表 arguments, 字符串 stdIn, 字符串 stdInCodec, 字符串 stdOutCodec)
- 布尔类型 executeDetached(字符串 program, 字符串列表 arguments, 字符串 workingDirectory)
- 布尔类型 fileExists(字符串 filePath)
- 字符串 findLibrary(字符串 name, 字符串列表 paths)
- 字符串 findPath(字符串 name, 字符串列表 paths)
- 字符串 fromNativeSeparators(字符串 path)
- 布尔类型 gainAdminRights()
- 布尔类型 hasAdminRights()
- 无返回值 interrupt()
- 布尔类型 isCommandLineDefaultInstall()
- 布尔类型 isCommandLineInstance()
- 布尔类型 isFileExtensionRegistered(字符串 extension)
- 布尔类型 isInstaller()
- 布尔类型 isOfflineGenerator()
- 布尔类型 isOfflineOnly()
- 布尔类型 is PackageManager()
- 布尔类型 is Package Viewer()
- 布尔类型 isProcessRunning(字符串 name)
- 布尔类型 isUninstaller()
- 布尔类型 isUpdater()
- 布尔类型 isUserSetBinaryMarker()
- 字符串 key(字符串 value)
- 布尔类型 killProcess(字符串 absoluteFilePath)
- 无返回值 languageChanged()
- 布尔类型 localInstallerBinaryUsed()
- 布尔类型 performOperation(字符串 name, 字符串列表 arguments)
- 字符串 readConsoleLine(字符串 title, 整数 maxlen)
- 字符串 readFile(字符串 filePath, 字符串 codecName)
- 布尔类型 recalculateAllComponents()
- 无返回值 removeFileDialogAutomaticAnswer(字符串 identifier)
- 布尔类型 removeWizardPage(组件 component, 字符串 name)
- 布尔类型 removeWizardPageItem(组件 component, 字符串 name)
- 单精度浮点数 requiredDiskSpace()
- 单精度浮点数 requiredTemporaryDiskSpace()
- 布尔类型 runInstaller()
- 布尔类型 runOfflineGenerator()
- 布尔类型 runPackageUpdater()
- 布尔类型 runUninstaller()
- 无返回值 selectComponent(字符串 id)
- 无返回值 setAutoAcceptLicenses()
- 无返回值 setCanceled()
- 无返回值 setCompleteUninstallation(布尔类型 complete)
- 布尔值 setDefaultPageVisible(int page, boolean visible)
- void setDependsOnLocalInstallerBinary()
- void setFileDialogAutomaticAnswer(string identifier, string value)
- void setInstaller()
- void setInstallerBaseBinary(string path)
- void setMessageBoxAutomaticAnswer(string identifier, int button)
- void setPackageManager()
- void setSharedFlag(string key, boolean value)
- void setTemporaryRepositories(stringlist repositories, boolean replace)
- void setUninstaller()
- void setUpdater()
- void setValidatorForCustomPage(Component component, string name, string callbackName)
- void setValue(string key, string value)
- boolean sharedFlag(string key)
- string toNativeSeparators(string path)
- string value(string key, string defaultValue, int format)
- stringlist values(string key, stringlist defaultValue)
- boolean versionMatches(string version, string requirement)
详细描述
信号文档
aboutCalculateComponentsToInstall() |
在计算要安装的组件的顺序列表之前发出。
注意:相应的处理程序是 onAboutCalculateComponentsToInstall
.
aboutCalculateComponentsToUninstall() |
在计算要卸载的组件的顺序列表之前发出。
注意:相应的处理程序是 onAboutCalculateComponentsToUninstall
.
componentAdded(Component component) |
发出新根组件被添加时。
注意:相应的处理程序是 onComponentAdded
.
coreNetworkSettingsChanged() |
在更改网络设置时发出。
注意:相应的处理程序是 onCoreNetworkSettingsChanged
.
currentPageChanged(int page) |
在当前 页面 发生变化时发出。
注意:相应的处理程序是 onCurrentPageChanged
.
downloadArchivesFinished() |
在成功下载所有组件的数据存档后发出。
注意:相应的处理程序是 onDownloadArchivesFinished
.
当新根组件列表 rootComponents 已更新时触发。
注意:相应的处理程序是 onFinishAllComponentsReset
.
另请参阅startAllComponentsReset().
finishButtonClicked() |
在用户点击安装程序的 完成 按钮时发出。
注意:相应的处理程序是 onFinishButtonClicked
.
当可用的远程更新组件列表 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() |
offlineGenerationStarted() |
setAutomatedPageSwitchEnabled(bool request) |
当从 PerformInstallation 页面自动跳转到 InstallationFinished 页面被启用(request = true
)或禁用(request = false
)时触发。
例如,当用户展开或折叠 PerformInstallation 页面的 详细信息部分时,自动切换会被自动禁用。
注意:相应的处理器是 onSetAutomatedPageSwitchEnabled
。
请求为指定 name 和 callbackName 的自定义页面设置验证器。在调用 setValidatorForCustomPage() 时触发。
注意:相应的处理器是 onSetValidatorForCustomPageRequested
。
startAllComponentsReset() |
startUpdaterComponentsReset() |
在远程更新过程中,在组件开始更新时触发。
注意: 对应的处理程序是 onStartUpdaterComponentsReset
.
statusChanged(Status status) |
当安装程序状态status发生变化时发出。
注意: 对应的处理程序是 onStatusChanged
.
titleMessageChanged(string title) |
当安装程序状态(在执行安装页面)的文本更改为title时发出。
注意: 对应的处理程序是 onTitleMessageChanged
.
uninstallationFinished() |
uninstallationStarted() |
updateFinished() |
在更新完成后触发。
注意: 对应的处理程序是 onUpdateFinished
.
wizardPageInsertionRequested(Widget widget, WizardPage page) |
当自定义widget通过addWizardPage即将插入到page中时发出。
注意: 对应的处理程序是 onWizardPageInsertionRequested
.
wizardPageRemovalRequested(Widget widget) |
当removeWizardPage移除widget时发出。
注意: 对应的处理程序是 onWizardPageRemovalRequested
.
当id为page的页面的可见性变为visible时发出。
注意: 对应的处理程序是 onWizardPageVisibilityChangeRequested
.
另请参阅 setDefaultPageVisible().
wizardWidgetInsertionRequested(Widget widget, WizardPage page, int position) |
当addWizardPageItem按position顺序将widget插入到page中时发出。
注意: 对应的处理程序是 onWizardWidgetInsertionRequested
.
wizardWidgetRemovalRequested(Widget widget) |
当removeWizardPageItem移除widget时发出。
注意: 对应的处理程序是 onWizardWidgetRemovalRequested
.
方法文档
void addUserRepositories(stringlist repositories) |
注册额外的repositories。
另请参阅 setTemporaryRepositories().
将组件 component 注册的对象名 name 的小部件作为新页面添加到安装程序的 GUI 工作流程向导中。小部件添加到 page 之前。
有关 page 的可能值,请参阅 控制器脚本。
如果操作成功返回 true
。
另请参阅removeWizardPage() 和 setDefaultPageVisible()。
将组件 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 表达式进一步过滤列出的包。
另请参阅component、finishAllComponentsReset() 和 finishUpdaterComponentsReset()。
boolean containsFileDialogAutomaticAnswer(string identifier) |
如果 ID 为 identifier 的 QFileDialog 有自动答案设置,则返回 true
。
另请参阅setFileDialogAutomaticAnswer() 和 removeFileDialogAutomaticAnswer()。
boolean containsValue(string key) |
如果安装程序包含 key 的值,则返回 true
。
另请参阅 value、setValue 和 valueChanged。
void deselectComponent(string id) |
取消选中具有 id 的组件。
void dropAdminRights() |
放弃通过 gainAdminRights 获得的管理员权限。
另请参阅 gainAdminRights。
在新进程中启动程序 program 并带参数 arguments,等待其完成。
stdIn 作为标准输入发送到应用程序。
stdInCodec 用于将输入字符串转换为字节以写入应用程序标准输入的编解码器名称。
stdOutCodec 用于将应用程序写入的标准输出数据转换为字符串的编解码器名称。
如果程序无法执行,则返回空数组;否则,将命令输出作为第一条项返回,并将返回码作为第二条。
注意:在 Unix 上,输出仅为 stdout 的输出,而不是 stderr。
另请参阅 executeDetached。
在新进程中启动程序 program 并带参数 arguments,然后与它断开连接。成功时返回 true
;否则返回 false
。如果安装程序退出,断开的进程将继续运行。
注意:包含空格的参数不会作为独立的参数传递到进程。
Unix: 启动的进程将在其自己的会话中运行并表现为守护进程。
Windows: 包含空格的参数将用引号包裹。启动的进程将作为常规的独立进程运行。
进程将在 workingDirectory 目录中启动。
boolean fileExists(string filePath) |
如果 filePath 存在,则返回 true
;否则返回 false
。
注意:如果文件是指向不存在的文件的符号链接,则会返回 false
。
使用 '/' 作为文件分隔符返回 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
。
另请参阅 isUninstaller、isUpdater 和 isPackageManager.
boolean isOfflineGenerator() |
如果应用程序以离线生成模式执行,则返回 true
。
boolean isOfflineOnly() |
如果这是一个仅离线的安装程序,则返回 true
。
boolean isPackageManager() |
如果应用程序、二进制文件或可执行文件以包管理器模式执行,则返回 true
。
另请参阅 setPackageManager、isInstaller、isUninstaller 和 isUpdater。
boolean isPackageViewer() |
如果当前安装程序作为包查看器执行,则返回 true
。
布尔值 isProcessRunning(字符串 name) |
如果具有name的进程正在运行,则返回true
。在Windows上,比较不区分大小写。
布尔值 isUninstaller() |
如果应用程序、二进制或可执行文件以卸载模式执行,则返回true
。
布尔值 isUpdater() |
如果应用程序、二进制或可执行文件以更新模式执行,则返回true
。
布尔值 isUserSetBinaryMarker() |
如果魔法二进制标记被用户设置,则返回true
。
布尔值 killProcess(字符串 absoluteFilePath) |
如果可以终止具有absoluteFilePath的进程或进程未运行,则返回true
。
注意:此函数以半阻塞方式实现(以保持主线程绘制UI)。
void languageChanged() |
调用所有组件的languangeChanged。
布尔值 localInstallerBinaryUsed() |
如果安装程序在Windows上运行,并且是从远程文件系统驱动器启动的,则返回false
。否则返回true
。
布尔值 performOperation(字符串 name, stringlist arguments) |
立即以arguments执行操作name。
将title打印到控制台,并读取控制台输入。函数使安装程序冻结并等待用户输入。函数返回用户输入的控制台行。最大允许行长度设置为maxlen。如果行长度超过此值,则行将在maxlen字符后拆分。如果maxlen为0,则行可以是任何长度。
注意:此函数只能在无GUI的命令行实例中安装时调用。
使用由codecName指定的编码返回文件filePath的内容。文件以文本模式读取,即换行终止符转换为本地编码。
注意:如果文件不存在或在读取文件时发生错误,则返回空字符串。
布尔型 recalculateAllComponents() |
重新计算所有要安装和卸载的组件。如果成功则返回 true
,否则返回 false
。
void removeFileDialogAutomaticAnswer(string identifier) |
从具有 ID identifier 的 QFileDialog 中移除自动答案。
另请参阅:setFileDialogAutomaticAnswer()。
通过 component 在安装程序的向导中移除了具有 objectName() name 的小部件。
如果操作成功返回 true
。
另请参阅:addWizardPage(),setDefaultPageVisible() 以及 wizardPageRemovalRequested()。
通过 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() |
自动将现有目录或文件名value设置为ID为identifier的QFileDialog。
void setInstaller() |
强制安装程序上下文。
另请参阅isInstaller、setUpdater、setUninstaller和setPackageManager。
void setInstallerBaseBinary(string path) |
设置使用维护工具时写入的installerbase
二进制文件。如果二进制文件的更新可用,请设置path。
如果没有设置,将使用正在运行的安装程序或卸载程序的执行代码段。
自动关闭ID为identifier的消息框,就如同用户按了button一样。
这可以用于无人值守(自动)安装。
另请参阅QMessageBox、autoAcceptMessageBoxes()和autoRejectMessageBoxes。
void setPackageManager() |
强制包管理器上下文。
另请参阅isPackageManager。
void setSharedFlag(string key, boolean value) |
void setTemporaryRepositories(stringlist repositories, boolean replace) |
为此安装程序或更新程序的实例设置额外的repositories。如果replace为true
,将替换现有存储库。将调用它后再将其删除。
另请参阅addUserRepositories。
void setUninstaller() |
强制卸载程序上下文。
另请参阅isUninstaller、setUpdater、setPackageManager和setInstaller。
void setUpdater() |
强制更新程序上下文。
另请参阅isUpdater、setUninstaller、setPackageManager和setInstaller。
为指定名称和回调名称的定制页设置验证器。
为 键 设置安装器值到 值.
另请参阅value、containsValue 和 valueChanged。
boolean sharedFlag(string 键) |
将 路径 中的 '/' 分隔符转换为适合底层操作系统的分隔符。
在 Unix 平台上,返回的字符串与参数相同。
注意: 此函数不解析预定义变量,例如 @TargetDir@。要转换分隔符到预定义变量,请使用 installer.value()
先解析变量。
另请参阅fromNativeSeparators 和 value。
返回 键 的安装器值。如果系统未知 键,则返回 默认值。在 Windows 上,键 可以是注册表项。默认情况下,格式 是 QSettings::NativeFormat。对于从在 64 位 Windows 上运行的 64 位应用程序访问 32 位系统注册表,请使用 QSettings::Registry32Format。对于从在 64 位 Windows 上运行的 32 位应用程序访问 64 位系统注册表,请使用 QSettings::Registry64Format。
另请参阅setValue、containsValue 和 valueChanged。
stringlist values(string 键, stringlist 默认值 = []) |
返回 键 的安装器值。如果系统未知 键,则返回 默认值。在 Windows 上,键 可以是注册表项。
另请参阅value。
当版本匹配要求时返回true
。要求可以是固定的版本号,也可以是前面加上比较运算符 '>'、'>='、'<'、'<=' 和 '='。
©2021 Qt公司有限公司。本文件中包含的文档贡献者是各自所有者的版权。本文件提供的文档是按照自由软件基金会发布的GNU自由文档许可证版本1.3的条款授权使用的。Qt公司、Qt及其相关标志是芬兰和/或其他国家的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。