赞
踩
QtIFW提供了一组工具和实用程序,可以一次性创建安装程序,并在所有支持的桌面Qt平台上部署它们,而无需重写源代码。安装程序将在运行它们的平台上具有本机外观和感觉:Linux,Microsoft Windows和macOS。QtIFW是作为Qt项目的一部分开发的,框架本身使用Qt。然而,它可以用于安装所有类型的应用程序,包括(但不限于)使用Qt构建的应用程序。
Qt安装程序框架工具生成安装程序,其中包含一组页面,在安装,更新或卸载过程中指导用户。您可以提供可安装的内容并指定有关它的信息,例如产品和安装程序的名称以及许可协议的文本。
您可以通过向预定义页面添加小部件或添加整个页面来自定义安装程序,以便为用户提供其他选项。您可以创建脚本以向安装程序添加操作。
你可以为最终用户提供离线/在线安装程序,具体取决于你的使用案例。
两个安装程序都安装一个维护工具,以后可用于添加,更新和删除组件。离线安装程序包含所有可安装组件,并且在安装期间不需要网络连接。联机安装程序仅安装维护工具,然后从Web服务器上的联机存储库下载和安装组件。
这里我选择了最新版本4.5.2,如图所示:
注意:安装好后可将“C:\QtIFW-4.5.2\bin”(路径根据实际情况来)添加到环境变量,方便cmd使用binarycreator.exe。如何安装在这里就不做介绍了,傻瓜式安装即可~
本节介绍创建安装程序必须完成的以下任务:
binarycreator
安装程序页面是使用你在配置和包信息文件中提供的信息创建的。
示例文件位于Qt安装程序框架存储库的目录中。examples\tutorial
创建一个目录结构,该结构反应安装程序的设计,并允许将来扩展安装程序。该目录必须包含config、packages子目录。
在目录中,创建一个包含以下内容的调用文件:config.xml(放在config文件夹下)
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>Your application</Name>
<Version>1.0.0</Version>
<Title>Your application Installer</Title>
<Publisher>Your vendor</Publisher>
<StartMenuDir>Super App</StartMenuDir>
<TargetDir>@HomeDir@/InstallationDirectory</TargetDir>
</Installer>
标签含义解析:
有关配置文件格式和可用元素的详细信息,请参阅配置文件。
在这个简单的场景中,安装程序只处理一个被调用的组件。要向安装程序提供有关组件的信息,请创建一个名为
<?xml version="1.0" encoding="UTF-8"?>
<Package>
<DisplayName>The root component</DisplayName>
<Description>Install this example.</Description>
<Version>0.1.0-1</Version>
<ReleaseDate>2010-09-21</ReleaseDate>
<Licenses>
<License name="Beer Public License Agreement" file="license.txt" />
</Licenses>
<Default>true</Default>
<Script>installscript.qs</Script>
<UserInterfaces>
<UserInterface>page.ui</UserInterface>
</UserInterfaces>
</Package>
标签含义解析:
有关包信息文件格式和可用元素的详细信息,请参阅包信息文件语法。
将你的程序打包好(具体如何打包这里不做介绍),然后放入data文件夹下。如果是多个组件的话,要分配好文件夹。
Windows:
binarycreator.exe -c config\config.xml -p packages YourInstaller.exe
Linux or macOS:
binarycreator.exe -c config\config.xml -p packages YourInstaller
安装程序在当前目录中创建,这样你就可以将其交付给最终用户了。
macOS:
binarycreator.exe -c config\config.xml -p packages YourInstaller
安装程序在当前目录中创建,这样你就可以将其交付给最终用户了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。