使用Qt Installer Framework制作安装包

本文详细介绍如何利用QtInstallerFramework下载、安装,并通过windeployqt工具打包应用程序,包括配置config.xml、package.xml和installscript.qs,以创建支持Windows的安装程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装QtInstallerFramewor

Qt Installer Framework 下载地址:
http://download.qt.io/official_releases/qt-installer-framework/

下载最新的QtInstallerFramework-win-x86.exe 然后安装。 这里下载的是最新4.0.1版本。默认是安装在C:\Qt\QtIFW-4.0.1
注意:安装路径不支持中文,本人亲测Qt的其他安装程序也不支持中文路径。所以用这个制作出来的安装包也不支持中文路径。

制作安装包的基本步骤是:

  1. QtCreatorRELEASE模式编译出程序
  2. windeployqt工具把程序打包,其实就是把一些Qt的库或者依赖项添加进行来。但是经过此操作并不是会把所有的依赖项都添加进来,保险起见执行完windeployqt之后运行程序看看缺不缺依赖。如果缺少则根据提示把缺少的依赖项复制过来,此处推荐用everything工具去查找缺少的依赖项,简直爽歪歪。
  3. QtInstallerFramework安装目录找到examples\startmenu。 把它复制到你想存放制作安装包的地方。以startmenu为模板制作安装包
  4. 进入startmenu目录,把第2步打好的包复制到packages\org.qtproject.ifw.example\data
  5. 根据自身情况修改 config\config.xml , packages\org.qtproject.ifw.example\meta\package.xml , packages\org.qtproject.ifw.example\meta\installscript.qs
  6. 在当前打开终端,输入:C:\Qt\QtIFW-4.0.1\bin\binarycreator.exe -c config\config.xml -p packages install.exe -v。 此处推荐Cmder终端。 如果是用系统自带的命令行工具,则需要手动切换到第3步存放startmenu 目录的位置,然后执行打包命令。执行完成之后会生成install.exe

配置说明

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@/gzjm_mti</TargetDir>
</Installer>

<Name> 软件名称
<Version> 版本号
<Title> 安装程序窗口标题
<Publisher> 发布者名称
<StartMenuDir> 要生成的windows开始菜单目录
<TargetDir> 默认安装路径, 注意不支持中文路径

packages\org.qtproject.ifw.example\meta\package.xml

<?xml version="1.0" encoding="UTF-8"?>
<Package>
    <DisplayName>星空互联终端</DisplayName>
    <Description>星空互联终端操作软件</Description>
    <Version>1.0.0-1</Version>
    <ReleaseDate>2021-01-07</ReleaseDate>
    <Default>true</Default>
    <Script>installscript.qs</Script>
</Package>

<DisplayName> 显示的名称
<Description> 描述
<Version> 部件的版本号
<ReleaseDate> 发行日期
<Licenses> 许可信息名称以及许可文件名
<Default>默认是否选中协议
<Script> 脚本文件
<UserInterfaces> 额外的界面(如果需要的话,而且需要去installscript.qs中配置)

packages\org.qtproject.ifw.example\meta\installscript.qs

function Component()
{
    // default constructor
}

Component.prototype.createOperations = function()
{
    // call default implementation to actually install README.txt!
    component.createOperations();

	//指定在开始菜单要创建的快键方式,这里是为lb_mti.exe 创建名为 星空互联终端 的快键方式
    if (systemInfo.productType === "windows") {
        component.addOperation("CreateShortcut", "@TargetDir@/1b_mti.exe", "@StartMenuDir@/星空互联终端.lnk",
            "workingDirectory=@TargetDir@", "iconPath=%SystemRoot%/system32/SHELL32.dll",
            "iconId=2", "description= 打开 星空互联终端");
    }
}

打包过程:

在这里插入图片描述
在这里插入图片描述

参考:

https://blog.csdn.net/mars_xiaolei/article/details/83825447

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值