qt 安装包生成2

使用Qt Installer Framework制作安装包

2018年07月01日 03:45:37 大黄老鼠 阅读数:878 标签: qt更多

个人分类: Qt

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32768743/article/details/80871697

步骤

制作安装包的步骤:

  • 去官网下载Qt Installer Framework的安装包并安装(已经安装的请跳过这步)
  • 使用windeployqt.exe集齐所需依赖
  • 使用binarycreator.exe创建安装包

具体操作流程:

安装Qt Installer Framework

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




搜集依赖

  • 使用Release模式构建项目

  • 在release目录下删掉不必要的文件
  • 运行windeployqt.exe命令
[windeployqt.exe路径] --release --qml --qmldir [qml源码路径] [exe文件路径]
  • 1

如在我的环境下是

D:\Qt\Qt5.11.0\5.11.0\mingw53_32\bin\windeployqt.exe --release --qml --qmldir D:\src\qml\huorong\ huorong.exe
  • 1
  • 手动拷贝其他的dll

我使用的是mingw53_32,需要拷贝以下文件

libgcc_s_dw2-1.dll libstdc++-6.dll libwinpthread-1.dll

创建安装包

  • 将上面搜集的依赖拷贝到installer\packages\cn.net.pikachu.huorong\data文件夹下
  • 运行binarycreator.exe命令
[binarycreator.exe路径] -c [config.xml路径] -p [packages路径] [生成的安装程序exe文件名] -v
  • 1

如在我的环境下是

D:\Qt\QtIFW-3.0.4\bin\binarycreator.exe -c installer/config/config.xml -p installer/packages huorong_install.exe -v
  • 1

最后的演示效果

思考与总结

如果Qt提供一键生成安装包就好了,何必这么麻烦呢?应该可以把这些操作用脚本写好,然后集成到QtCreator中。

附:

配置文件

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>火绒安全软件</Name>
    <Version>0.1.0</Version>
    <Title>火绒安全软件</Title>
    <Publisher>大黄老鼠</Publisher>
    <!-- Directory name is used in component.xml -->
    <StartMenuDir>pikachu</StartMenuDir>
    <TargetDir>@[email protected]/pikachu/huorong</TargetDir>
</Installer>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

package.xml

<?xml version="1.0" encoding="UTF-8"?>
<Package>
    <DisplayName>火绒安全软件</DisplayName>
    <Description>可执行文件</Description>
    <Version>0.1.0-1</Version>
    <ReleaseDate>2018-07-01</ReleaseDate>
    <Default>true</Default>
    <Script>installscript.qs</Script>
    <ForcedInstallation>true</ForcedInstallation>
</Package>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

installscript.qs

/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the FOO module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/

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", "@[email protected]/huorong.exe", "@[email protected]/火绒安全软件.lnk",
            "[email protected]@", "iconPath=%SystemRoot%/system32/SHELL32.dll",
            "iconId=2", "description=Open README file");
        component.addOperation("CreateShortcut", "@[email protected]/huorong.exe", "@[email protected]/Desktop/火绒安全软件.lnk");

        component.addOperation("CreateShortcut", "@[email protected]/maintenancetool.exe", "@[email protected]/更新或卸载 火绒安全软件.lnk");
    }

原文地址:https://www.cnblogs.com/jzlzn/p/9969619.html

时间: 2024-10-21 00:23:43

qt 安装包生成2的相关文章

VS2008 Windows Form项目安装包生成详解

2008 Windows Form项目的发布对有经验的程序员来说,可能不值一提,但对很多新手来说却不知道如何操作,因为在很多关于Visual Studio的书籍中也没有相关介绍,权威如<C# 2005/8 高级编程>对该内容也末涉及.好在网络上不乏热心网友对相关操作经验进行分享,只是在表述上并不详尽,笔者觉得有必要对该操作方法详细说明一番,希望能对 有些新手朋友起到一些帮助.有时学习的乐趣不在于我们掌握了何种技术.何种技巧,善于总结.学会分享也是一种不错的体验,在我们遇到问题茫然无助时,都是

InnoSetup安装包制作流程

安装包制作流 1.新建一个向导项目或复制一份已有的项目. 2.修改:主程序名.版本.发布人.程序名. 3.修改安装目录(DefaultDirName={pf}\eCallSystem\{#MyAppName}).安装包生成目录(OutputDir=..\Publish\Dashboard).开始菜单目录 (DefaultGroupName=eCallSystem\Dashboard). 4.添加所有要导入(Source: "..\Compile\Dashboard\WarehouseDashbo

基于InstallShield2013LimitedEdition的安装包制作

原文:基于InstallShield2013LimitedEdition的安装包制作 在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不多,但是处理还是有很大的不同,本文主要基于VS2013的基础上,介绍使用InstallShield2013LimitedEdition的安装包制作. 1.安装使用InstallShield2013LimitedEd

我的学习记录--Linux (CentOS) 程序安装包管理,rpm

概述: 因为一个应用程序是由很多文件所组成,所以安装卸载非常复杂,为了让用户更加方便的管理应用程序.所以引入了程序打包管理.主要包括:安装,卸载,升级,查询,检验. 常见的包管理器: .deb: Debian研发 .rpm: Red Hat研发(Linux上的包管理器公共标准,故我学习的为rpm) 常见的CPU平台:(所以选择应用程序安装的时候,一定选择和自己CPU所匹配的版本) x86:i386, i486, i586, i686 x86_64: x86_64, amd64 分包机制: 核心包

使用Qt installer framework制作安装包(不知道是否适合Mac和Linux?)

一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆.(2)制作安装包发布.这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布.制作安装包的工具挺多,今天要说的是Qt官方的安装包制作框架Qt installer framework.这个框架由Qt官方出品,广泛应用

win7平台下QT软件的打包与发布 (利用NSIS脚本制作安装包)

接上文:http://blog.csdn.net/shallen320/article/details/44915649 上文介绍了如何查找Qt程序依耐性,如何利用NSIS 和 .zip文件制作简单的压缩包.上文所用的方法制作的安装包十分简单,连创建桌面快捷方式都没有.本文介绍如何使用NSIS脚本语言制作一个略微复杂的安装包. 下面是我使用的NSIS脚本语言范例,含有简单全面的功能,包括: 设置安装文件版本,公司,版权信息 安装拷贝指定文件 创建开始菜单,桌面快捷方式 创建卸载程序,并能在win

使用Qt installer framework制作安装包

一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆.(2)制作安装包发布.这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布.制作安装包的工具挺多,今天要说的是Qt官方的安装包制作框架Qt installer framework.这个框架由Qt官方出品,广泛应用

【转】利用xcode生成的app生成可以在iphone和itouch上运行的ipa安装包

转载地址:http://blog.csdn.net/yohunl/article/details/5971252 在编译好的真机版目录下的.app文件,至于生成真机可以运行的app的方法,有两种方式,一种是交99美元获得一个证书,另外一种是破解的方式,在此不再详述,本文假设你已经生成了真机上可以运行的app包了(app包实际上是一个文件夹) 假设此安装包的名称是 hello.app,点击右键,选择 显示包内容,这样就可以打开这个hello.app文件夹了,在此文件夹中有一个info.plist文

在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包

.NET 的开源,有了更多的DIY乐趣.这篇博文记录一下在新安装的 Linux Ubuntu 14.04 上通过自己动手编译 dotnet cli 的源代码生成 .net core sdk 的 deb 安装包. 1)安装一个现有版本的 .net core sdk sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc