自学内容网 自学内容网

Qt 制作安装包

记录使用Qt工具制作一个安装包的过程

目录

1.准备工作

1.1检查Qt Installer Frameworks是否安装

1.2.安装Qt Installer Frameworks

1.3准备release出来的exe dll等文件

2.创建打包工程所需要的文件及目录

2.1创建子目录

2.2 创建工程文件

2.3 创建config/config.xml

2.4 创建packages/qWidget/meta/config.xml

2.5 创建packages/qWidget/meta/installscript.qs

2.6 创建packages/qWidget/meta/license.txt

3.拷贝需要打包的文件

4.使用Qt Creator编译生成安装程序

5. 安装、卸载、运行测试


1.准备工作

1.1检查Qt Installer Frameworks是否安装

Qt的安装路径下查找,比如D:\Qt\Tools\QtInstallerFramework 

不存在该目录就需要安装

1.2.安装Qt Installer Frameworks

找到D:\Qt\MaintenanceTool.exe,运行,选择QtInstallerFramework 安装

1.3准备release出来的exe dll等文件

如何生成release文件已经在这里

Qt 使用发布工具 windeployqt 来releaseicon-default.png?t=N7T8https://blog.csdn.net/castlooo/article/details/140473263

2.创建打包工程所需要的文件及目录

创建打包工程目录比如,用来构建打包工程所需要的目录结构

2.1创建子目录

InstallerExample/config  

InstallerExample/packages

InstallerExample/packages/qWidget

InstallerExample/packages/qWidget/data

InstallerExample/packages/qWidget/meta

2.2 创建工程文件

InstallerExample/qWidgetInstaller.pro

记事本编辑工程文件如下

TEMPLATE = aux
INSTALLER = qWidgetInstaller    #生成的安装文件名称  qWidgetInstaller.exe
INPUT = $$PWD/config/config.xml $$PWD/packages #$$PWD  pro所在的目录
demo.input = INPUT
demo.output = $$INSTALLER
demo.commands =binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT}
demo.CONFIG += target_predeps no_link combine
QMAKE_EXTRA_COMPILERS += demo

2.3 创建config/config.xml

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>qWidget</Name>
<Version>1.0.0</Version>
<Title>qWidget Created by Qt 6</Title>
<Publisher>CC</Publisher>
<StartMenuDir>qWidget</StartMenuDir>
        <TargetDir>@HomeDir@/qWidget</TargetDir>
<CreateLocalRepository>true</CreateLocalRepository>
<WizardStyle>Aero</WizardStyle>
<WizardShowPageList>true</WizardShowPageList>
<WizardDefaultWidth>650</WizardDefaultWidth>
<WizardDefaultHeight>430</WizardDefaultHeight>
</Installer>

2.4 创建packages/qWidget/meta/config.xml

<?xml version="1.0"?>
<Package>
<DisplayName>qWidget</DisplayName>
<Description>qWidget</Description>
<Version>1.0.0</Version>
<ReleaseDate>2024-07-17</ReleaseDate>
<Licenses>
<License name="GNU Public License Agreement" file="license.txt" />
</Licenses>
<ForcedInstallation>true</ForcedInstallation>
<Script>installscript.qs</Script>
</Package>

2.5 创建packages/qWidget/meta/installscript.qs

function Component()
{
    // default constructor
}

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

    if (systemInfo.productType === "windows") {
        component.addOperation("CreateShortcut", "@TargetDir@\\qWidgets.exe", "@StartMenuDir@\\qWidget.lnk",
            "workingDirectory=@TargetDir@");

        component.addOperation("CreateShortcut", "@TargetDir@\\qWidgets.exe", "@DesktopDir@\\qWidget.lnk",
            "workingDirectory=@TargetDir@");
    }
}

2.6 创建packages/qWidget/meta/license.txt

本软件采用Qt 6.7开源版本开发,遵循Qt开源版本使用的GPL v2/v3和LPGL v3等许可协议。本软件可以自由复制和分发,但需要遵守相应的开源许可协议。

3.拷贝需要打包的文件

将需要打包的release文件 exe dll等拷贝到目录packages/qWidget/meta

4.使用Qt Creator编译生成安装程序

使用Qt Creator打开工程qWidgetInstaller.pro,点击构建项目按钮,查看编译输出结果,编译的结果较为缓慢一些

5. 安装、卸载、运行测试

将生成的安装程序,安装、卸载、运行测试一遍是否问题

生成的桌面图标如下,点击运行正常


原文地址:https://blog.csdn.net/castlooo/article/details/140492457

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!