退出安装程序示例
使用组件脚本退出安装程序。
退出安装程序演示了如何使用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. 的商标。所有其他商标均为各自所有者的财产。