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.源代码参考

    https://gitee.com/chen227/qmlMouseMove


  • 网站研运

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



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


  • 网站研运

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


 

走马观花

最近的回复

  • 原来的号上不去了。。。。。不知道咋回事,可能是Github登录的?
    这个项目时隔3年又更新了,虽然偷了很多懒。。。。

    虽然这几年我一直编译Qt,不过已经很少编译这么全套的了。。。。。

    read more
  • 第一就是进入体验期:就是网友们刚刚进入网站的时候,心态处于体验状态,自然不会充值大额,所以这个阶段提款就是正常的,不会有什么情况。第二就是网站考量期:这个阶段是网友们已经玩了一段时间了,网站就会通过网友们这些天的投注情况来考量这个客户的质量,假如是大客户的话,那你就算赢十个八个网站还是会给你提款的,因为你后面还可以给网站带来更大的利益。第三就是网站拖延期,这个阶段就是网站决定黑你但是还想让你继续充值继续玩的时候,网站会以你的IP异常,注单违规,涉嫌套利等为借口拖着就是不给你提款。第四就是网站黑钱期,这个阶段就是网站觉得你身上的利益已经被他们套光了,网站也就不想在你身上浪费时间了,所以就冻结你的账号然后拉黑你。

    在这里我想说的是,如果我们的账号还没有到网站黑钱的最后一个阶段,只是出款需要审核,总是提不了款,但账号还可以正常登录,额度可以正常转换的时候可以寇+(二二其....久连连..六舞二桑)没有前期

    read more

关注我们

微博
QQ群











召唤伊斯特瓦尔