qt程序打包发布



  • qt程序打包发布

    目标: 我想安装自己开发的程序

    1.打包依赖库

    a.使用qtcreator编译生成程序demo.exe,这是一个release版的

    b.在程序demo.exe目录打开cmd

    c.输入命令

    C:\Qt\Qt5.10.1\5.10.1\mingw53_32\bin\windeployqt.exe demo.exe --qmldir C:\Qt\Qt5.10.1\5.10.1\mingw53_32\qml
    

    d.这样demo.exe运行依赖的库都会自动拷贝到同目录

    2.Qt Installer Framework

    a.去官网下载工具 http://download.qt.io/development_releases/installer-framework/3.0.1/installer-framework-build-stripped-3.0.1-win-x86.7z

    b.解压到C:\Qt\ifw-pkg,examples目录是例子

    c.把之前得到的demo.exe同目录下所有文件拷贝到
    C:\Qt\ifw-pkg\examples\tutorial\packages\com.vendor.product\data,
    data目录存放的是将来安装程序时候要释放安装的程序数据

    d.在C:\Qt\ifw-pkg\examples\tutorial目录打开cmd

    e.输入命令,创建离线安装包

    C:\Qt\ifw-pkg\bin\binarycreator.exe --offline-only -t C:\Qt\ifw-pkg\bin\installerbase.exe -c config\config.xml -p packages demo.exe
    

    f.这样就在tutorial目录生成安装包demo.exe

    3.测试安装包

    a.运行demo.exe

    b.像一般软件那样下一步进行安装

    c.安装完成后在C:\Users\chen\InstallationDirectory目录会看到安装结果

    d.InstallationDirectory目录的maintenancetool.exe是维护工具,demo.exe就是我们的程序

    详情参考官网 https://doc.qt.io/qtinstallerframework/index.html

    4.希望安装程序后在开始菜单添加快捷方式

    a.修改tutorial\packages\com.vendor.product\meta\installscript.qs文件

    Component.prototype.createOperations = function()
    {
        try {
            // call the base create operations function
            component.createOperations();
    		if (systemInfo.productType === "windows") {
    			component.addOperation("CreateShortcut", "@TargetDir@/demo.exe", "@StartMenuDir@/Love.lnk",
    				"workingDirectory=@TargetDir@", "iconPath=@TargetDir@/demo.exe",
    				"iconId=0", "description=Open Love file");
    		}
        } catch (e) {
            console.log(e);
        }
    }
    

    b.重新生成安装包,安装

    5.源代码参考


  • 网站研运

    安装包的制作,只要熟悉了Qt Installer Framework,就会觉得这样制作安装包非常简单方便。😛 🤗



  • @jcy 如果可以,我想做个迅雷那种安装很炫酷的


  • 网站研运

    @青山白云 使用Qt Installer Framework也是可以的,需要拿它的项目改一改样式就可以达到想要的效果。如果不在意没有无边框效果这个缺陷的话,那么指定ui文件也是很方便的。



走马观花

最近的回复

  • H
    Toou 2D 拿来即用,为简单而生。

    简称T2D,是一款采用自身模块规范编写的轻量级UI框架,遵循Qt书写与组织形式门槛极低无需深入学习简单易用可拿来即用,丰富的控件模块适合界面的快速开发,让程序人员拥有更多的精力来实现业务逻辑与算法。

    统一交互规范,丰富的Ui控件几十种常用控件放弃了Qt Controls 及 Controls 2 来提高性能。

    完善的主题系统,业务逻辑与界面主题设计分离,可通过简单修改变量自定义主题皮肤。灵活的多主题皮肤绑定机制、在不需要重启App即实现一键换肤

    ini皮肤配置规则与每一个控件融合。可在应用内配置也可在应用外动态扩展配置。

    框架自动化安装支持动态库、静态库多模式编译。使用方便更安全更自由。

    提供丰富Demo、全面的帮助文档,Api查阅快速方便。项目必备开源框架!

    已经集成最新版 Font Awesome 4.7

    开源地址:https://github.com/ShowFL/Toou-2D

    read more
  • 刚刚毕业,工作用QT开发,以后有问题多多请教各位前辈😬 抱拳了。

    read more

关注我们

微博
QQ群