退出安装程序示例
使用组件脚本退出安装程序。

退出安装程序演示了如何使用Component()函数显示消息框,以便在安装未满足某些要求时允许最终用户取消安装。
配置示例安装程序
安装程序配置文件config.xml位于config目录中,指定了安装程序中使用的文本和默认值。
<Name>元素设置应用程序名称,并将其添加到页面名称和介绍文本中。<Version>元素设置应用程序版本号。<Title>元素设置安装程序名称,并在标题栏中显示。<Publisher>元素设置软件的发布者(例如,在Windows控制面板中显示)。<StartMenuDir>元素设置Windows中产品的默认程序组名称在“开始”菜单中。<TargetDir>元素将默认目标目录位置设置为当前用户主目录下的IfwExamples目录内部(因为它将预定义变量,@HomeDir@, 作为值的一部分使用)。更多信息,请参阅预定义变量。
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>Quit Installer Example</Name>
<Version>1.0.0</Version>
<Title>Quit Installer Example</Title>
<Publisher>Qt-Project</Publisher>
<StartMenuDir>Qt IFW Examples</StartMenuDir>
<TargetDir>@HomeDir@/IfwExamples/quitinstaller</TargetDir>
</Installer>创建示例包信息文件
安装程序包信息文件package.xml位于meta目录中,指定了可用于安装的组件。
<DisplayName>元素设置组件的易读名称。<Description>元素设置组件的易读说明。<Version>元素设置组件的版本号。<ReleaseDate>元素设置此组件版本的发布日期。
<Default>元素设置为true以在安装程序中预选组件。<Script>元素指定要加载执行操作使用的JavaScript文件的名称。
<?xml version="1.0"?>
<Package>
<DisplayName>Quit an installer</DisplayName>
<Description>Quits the installer in a nice way, if there is something missing</Description>
<Version>1.0.1</Version>
<ReleaseDate>2013-02-27</ReleaseDate>
<Default>true</Default>
<Script>installscript.js</Script>
</Package>退出安装
在installscript.js中,我们使用Component()函数为最终用户提供退出安装程序的消息框。
function Component()
{
var result = QMessageBox["question"]("test.quit", "Installer", "Do you want to quit the installer?<br>" +
"This message box was created using JavaScript.", QMessageBox.Ok | QMessageBox.Cancel);如果最终用户选择确定,我们使用installer::setValue()函数显示消息,并使用installer.setDefaultPageVisible()函数隐藏随后的安装程序页面
if (result == QMessageBox.Ok) {
installer.setValue("FinishedText", "<font color='red' size=3>The installer was quit.</font>");
installer.setDefaultPageVisible(QInstaller.TargetDirectory, false);
installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
installer.setDefaultPageVisible(QInstaller.StartMenuSelection, false);
installer.setDefaultPageVisible(QInstaller.PerformInstallation, false);
installer.setDefaultPageVisible(QInstaller.LicenseCheck, false);
gui.clickButton(buttons.NextButton);如果最终用户选择取消,我们显示默认安装程序页面,并在最后一个安装程序页面使用installer::setValue()函数显示另一条消息
} else {
installer.setValue("FinishedText",
"<font color='green' size=3>The installer was not quit by JavaScript.</font>");
}
}生成示例安装程序
要创建示例安装程序,切换到命令行上示例源目录,并输入以下命令
- 在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 公司 Ltd. 文档贡献为各自所有者的版权。所提供的文档根据自由软件基金会发布的版本 1.3 的GNU 自由文档许可协议许可使用。Qt 公司、Qt 及其相关标志为芬兰及/或全球其他地区的 Qt 公司 Ltd. 的商标。所有其他商标均为各自所有者的财产。