发布QT程序安装包

16 篇文章 1 订阅

一、Windows下发布安装包

1、准备

QT下载安装:http://download.qt.io/archive/qt/

qt-installer-framework 下载安装:http://download.qt.io/official_releases/qt-installer-framework/

                      Windows系统下载:QtInstallerFramework-win-x86.exe

2、生成要打包的程序

  • Qt Creator中生成Release版本的文件程序,会生成一个可执行程序(例如:QtInster.exe)。
  • 创建一个空的文件夹(例如:insertpacket)。
  • 拷贝可执行文件(QtInster.exe)到insertpacket文件夹中。
  • 进行如下操作:

        

3、发布安装包

  • 找到QtInstallerFramework-win-x86.exe 的安装目录将(C:\Qt\QtIFW-3.0.6\examples\startmenu)这个文件夹中拷贝到指定位置(例如:桌面),可以重命名文件夹的名称(例如:InsterTarget)。
  • 在C:\Users\Administrator\Desktop\InsterTarget\config 文件夹中修改配置文件config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <Installer>
        <Name>InsertMenu</Name> <!-- 正在安装的产品名称 -->
        <Version>1.0.0</Version> <!-- 版本 -->
        <Title>InsertMenu</Title> <!-- 标题栏上显示的安装程序的名称 -->
        <Publisher>Qt-Project</Publisher> <!--发布者 -->
        <!-- Directory name is used in component.xml -->
        <StartMenuDir>InsertMenu</StartMenuDir> <!-- Windows开始菜单中产品的默认程序组名称 -->
        <TargetDir>@HomeDir@/InsterTarget</TargetDir> <!-- 安装的默认目标目录 -->
    </Installer>

     

  • 在C:\Users\Administrator\Desktop\InsterTarget\packages\org.qtproject.ifw.example\meta 文件夹中修改包文件packet.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <Package>
        <DisplayName>InsertMenu</DisplayName> <!-- 组件的可读名称 -->
        <Description>InsertMenu, program para dibujar.</Description>  <!-- 组件的可读描述 -->
        <Version>1.0.0-1</Version> <!-- 组件的版本号格式 -->
        <ReleaseDate>2019-01-30</ReleaseDate> <!-- 此组件版本发布的日期 -->
        <Default>true</Default> 
        <Script>installscript.qs</Script> <!--被加载的脚本文件名 -->
    </Package>
    

     

  • 在C:\Users\Administrator\Desktop\InsterTarget\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();

    if (systemInfo.productType === "windows") {
        component.addOperation("CreateShortcut", "@TargetDir@/InsertMenu.exe", "@StartMenuDir@/InsertMenu.lnk",
            "workingDirectory=@TargetDir@", "iconPath=%SystemRoot%/system32/SHELL32.dll",
            "iconId=2", "description=Open README file");
    }
}

 

  • 将insertpacket 文件夹中所有文件(Qt执行程序和执行文件的依赖文件)拷贝到C:\Users\Administrator\Desktop\InsterTarget\packages\org.qtproject.ifw.example\data中(注:这个文件夹不要拷贝过来)。
  • 打开Qt命令窗口,转到打包的文件目录(InsterTarget)

          离线安装打包:binarycreator --offline-only -c config/config.xml -p packages qtInstaller

          在线安装打包:binarycreator -c config/config.xml -p packages qtInstaller

  • 然后就可以在该目录下看到发布成功的安装程序。

二、Linux下发布安装包

1、准备

QT下载安装:http://download.qt.io/archive/qt/

qt-installer-framework 下载安装:http://download.qt.io/official_releases/qt-installer-framework/

                                    Linux下载:QtInstallerFramework-linux-x64.run

2、生成要打包的程序

  • Qt Creator中生成Release版本的文件程序,会生成一个可执行程序(例如:qtInstaller)。
  • 创建一个空的文件夹(例如:qtInstaller)。
  • 拷贝Release文件夹中的可执行文件(linuxInster)到qtInstaller文件夹中。
  • 在 qtInstaller 中创建一个脚本文件(例如:copylib.sh)并执行chmod 777 copylib.sh ,文件内容如下:
  • #!/bin/bash
    
    LibDir=$PWD"/lib"
    Target=$1
    
    lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
    
    $(mkdir $LibDir)
    
    for Variable in ${lib_array[@]}
    do
    cp "$Variable" $LibDir
    done
    

     

  • 执行 ./copylib.sh linuxInster,然后就可以在文件夹 qtInstaller 中会看到一个lib文件夹,这个文件夹里就是 linuxInster可执行文件的依赖文件。

3、发布安装包

  • 找到 QtInstallerFramework-linux-x64.run 的安装目录进入examples目录(例如:home/kaiy/Qt/QtIFW-3.0.6/examples)。
  • 把 examples目录下 tutorial 目录中的全部文件拷贝到 qtInstaller 目录中。
  • 现在qtInstaller中的文件目录如下:

       

  • 进入到config目录,修改config.xml ,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>linuxInstaller</Name> <!-- 正在安装的产品名称 -->
    <Version>1.0.0</Version> <!-- 版本 -->
    <Title>linuxInstaller</Title> <! -- 标题栏上显示的安装程序的名称 -->
    <Publisher>super App</Publisher> <! --发布者 -->
    <!-- Directory name is used in component.xml -->
    <StartMenuDir>linuxInstaller</StartMenuDir> <!-- Windows开始菜单中产品的默认程序组名称 -->
    <TargetDir>@HomeDir@/qtInstaller </TargetDir> <!-- 安装的默认目标目录 -->
</Installer>

 

  • 进入 home/kaiy/Qt/QtIFW-3.0.6/examples/qtInstaller /packages/com.vendor.product/meta 这个目录中的文件按照自己的需求进行修改(我把文件夹复制到examples中)
  • 把 home/kaiy/Qt/QtIFW-3.0.6/examples/qtInstaller 目录下的可执行文件 linuxInster 和 它的依赖文件lib目录下的所有文件拷贝到home/kaiy/Qt/QtIFW-3.0.6/examples/qtInstaller /packages/com.vendor.product/data中。
  • 输入指令,打包。

            在线安装打包:home/kaiy/Qt/QtIFW-3.0.6/bin/binarycreator -c config/config.xml -p packages linuxset_up。

            离线安装打包:home/kaiy/Qt/QtIFW-3.0.6/bin/binarycreator --offline-only -c config/config.xml -p packages linuxset_up。

 注:binarycreator文件前必须指定该文件的目录(home/kaiy/Qt/QtIFW-3.0.6/bin/binarycreator),否则无法打包。

Qt Installer Framework使用说明:http://www.cnblogs.com/oloroso/p/6775318.html

                         

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值