赞
踩
Qt5可以使用官方的Qt Installer Framework框架制作安装包
Qt Installer Framework框架提供了一组工具和实用程序,用于创建一次安装程序,并在所有受支持> 的桌面Qt平台上部署它们,而无需重写源代码。安装程序将在运行它们的平台上具有本机外观:> > Linux,Microsoft Windows和OS X.
安装程序已在以下平台上进行了测试:
Microsoft Windows XP及更高版本
Ubuntu Linux 11.10及更高版本
OS X 10.7及更高版本
使用Qt Installer Framework框架生成的安装程序,其中包含一组页面,可在安装,更新或卸载过程中指导用户。您需要提供安装的内容并指定有关它的信息,例如产品名称和安装程序以及许可协议的文本。您可以通过向预定义页面添加小部件或添加整个页面来为用户提供其他选项来自定义安装程序。您可以创建脚本以向安装程序添加操作。
选择安装程序类型
根据您的使用情况,您可以为最终用户提供离线或在线安装程序,或两者兼而有之。
两个安装程序都安装了一个维护工具,以后可用于添加,更新和删除组件。离线安装程序包含所有> 可安装组件,并且在安装期间不需要网络连接。联机安装程序仅安装维护工具,然后从Web服务器上的联机存储库下载和安装组件。因此,在线安装程序二进制文件的大小较小,其下载时间短于脱机安装程序二进制文件的下载时间。如果最终用户未安装所有可用组件,则下载和运行联机安装程序所花费的总时间也可能比下载和运行脱机安装程序的时间短。
最终用户可以在初始安装后使用维护工具从服务器安装其他组件,并在服务器上发布更新后立即接收内容的自动更新。但是,仅当您在脱机安装程序配置中指定存储库地址或最终用户在维护工具设置中指定存储库地址时,这才适用于离线安装。
创建离线安装程序,以使用户能够直接在介质上下载安装包,以便以后在计算机上安装。例如,您也可以将安装包分发到CD-ROM或USB记忆棒上。
创建在线安装程序,使用户始终可以安装最新版本的内容二进制文件。
下载 Qt Installer Framework
官方下载:http://download.qt.io/official_releases/qt-installer-framework/
1、选择一个Qt Installer Framework版本,我选择目前最新的3.0.4版本
2、前面两项为压缩包,下载后解压就是一堆文件夹,没有可安装的exe,也没有找到 我们后面要打包的工具binarycreator.exe,所以就选了下面这个可以安装的exe版本,毕竟这个用的顺手。
1、点击运行exe可执行文件,进入Qt Installer Framework设置向导页面,点击“下一步”
2、选择安装路径,最好是新建一个空的文件夹, 用来存放安装的东西,选择完后点击“下一步”
3、进入许可协议页面,选择“我接受这些许可”,要用别人的软件,就必须习惯这个,尊重版权,没得办法,然后点击“下一步”
4、进入到安装页面,直接点击“安装”就好了
官方文档: http://doc.qt.io/qtinstallerframework/ifw-tutorial.html
1、首先需要创建一个包目录结构,该包目录结构必须包含名为config和packages的子目录。
config目录:包含了有关如何构建安装程序二进制文件和联机存储库的信息
packages目录:包含有关可安装组件的信息
不过Qt Installer Framework安装目录下面有很多的示例,这里就拿startmenu来示范,复制一份出来。startmenu的一般路径D:\QtInstallerFrameworkInstall\examples\startmenu。下面是我复制到桌面的一份示例文件夹:
2、把打包过的文件全部复制到packages目录下面的data文件夹里,打包文件操作请自行百度
3、修改配置文件,在config目录下,有一个config.xml文件,使用文本编辑器打开,根据自己的需求进行修改
<?xml version="1.0" encoding="UTF-8"?> <Installer> <Name>测试软件</Name> <Version>1.0.0</Version> <Title>测试安装包向导</Title> <Publisher>心若十年</Publisher> <!-- Directory name is used in component.xml --> <StartMenuDir>测试软件</StartMenuDir> <TargetDir>@HomeDir@/Test_software/</TargetDir> </Installer> < ------------------------- 上面内容所代表的值 -------------------------- < Name> 软件名称 < Version> 版本号 < Title> 安装程序窗口标题 < Publisher> 发布者名称 < StartMenuDir> 要生成的windows开始菜单目录 < TargetDir> 默认安装路径
4、修改包信息文件,在packages目录下,有一个package.xml文件,使用文本编辑器打开,根据自己的需求进行修改
<?xml version="1.0" encoding="UTF-8"?>
<Package>
<DisplayName>主程序</DisplayName>
<Description>A README.txt, accessible through a start menu entry.</Description>
<Version>1.0.0-1</Version>
<ReleaseDate>2020-08-09</ReleaseDate>
<Default>true</Default>
<Script>installscript.qs</Script>
<ForcedInstallation>true</ForcedInstallation>
</Package>
< DisplayName>安装组件界面,显示的名称
< Description> 描述
< Version> 部件的版本号
< ReleaseDate> 发行日期
<Default>默认是否选中协议
< Script> 脚本文件
<ForcedInstallation>设置显示的组件功能是必选还是可选
< Licenses> 许可信息名称以及许可文件名
< UserInterfaces> 额外的界面(如果需要的话,而且需要去installscript.qs中配置)
4、在packages目录下,有一个installscript.qs文件,使用文本编辑器打开,根据自己的需求进行修
改,注意看下面代码的addOperation函数:
注意:前两个设置.exe后缀位置是需要修改的,需要根据自己打包的文件进行更改,例如我的打包程序是delayShow.exe
第一个:设置开始菜单图标
第二个:设置桌面快捷图标
第三个:卸载工具
installscript.qs官方文档链接:http://doc.qt.io/qtinstallerframework/scripting.html
/**************************************************************************** ** ** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the FOO module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ function Component() { // default constructor } Component.prototype.createOperations = function() { // call default implementation to actually install README.txt! component.createOperations(); if (systemInfo.productType === "windows") { component.addOperation("CreateShortcut", "@TargetDir@/delayShow.exe", "@StartMenuDir@/delayShow.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/delayShow.exe", "@HomeDir@/Desktop/delayShow.lnk"); component.addOperation("CreateShortcut", "@TargetDir@/maintenancetool.exe", "@StartMenuDir@/更新或卸载.lnk"); } }
5、添加环境变量,将Qt Installer Framework安装文件下的bin路径添加到环境变量,重启电脑,不会添加自行百度
6、生成安装包程序,打开Qt的命令行界面Qt 5.11.0 for Desktop(MinGW…),输入以下命令,
进入要生成的文件夹目录下,然后使用生成工具进行生成安装包应用
输入以下命令进入startmenu目录
D:\Qt5.11\install\5.11.0\mingw53_32>C:
C:\Windows\System32>cd C:\Users\huang0795\Desktop\startmenu>
输入以下命令生成安装包程序(注意:当前路径是在startmenu目录下)
binarycreator.exe -c config/config.xml -p packages install.exe -v
当最后出现了下图的样子… , 说明安装包制作成功了
安装包程序生成安装包程序之后,你就可以点击运行这个程序进行安装了,以下为安装示例
安装完以后,去安装目录下找到Music.exe点击运行,如果运行成功,则说明安装包是没问题的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。