QT安装程序制作

xiaoxiao2021-02-28  14

1 安装Qt installerframework

    从QT官网的http://download.qt.io/official_releases/qt-installer-framework/下载qt installer framework安装程序进行安装。

2 配置安装文件

1、建立安装程序制作目录,例如:d:\myapp_setup。

2、把Qt installer framework示例examples\tutorial目录下的config和packages两个目录拷贝到myapp_setup目录内。把应用程序的可执行文件和资源文件拷贝到myapp_setup\packages\com.vendor.product\data目录内。

3、修改配置文件config.xml

修改myapp_setup\setup\config目录内的config.xml文件。原文件为:

<?xml version="1.0"encoding="UTF-8"?> <Installer> <Name>Your application</Name> <Version>1.0.0</Version> <Title>Your application Installer</Title> <Publisher>Your vendor</Publisher> <StartMenuDir>Super App</StartMenuDir> <TargetDir>@HomeDir@/InstallationDirectory</TargetDir> </Installer>

各配置项描述如下:

<?xml version="1.0"encoding="UTF-8"?> <Installer> <Name>你的应用程序名称</Name> <Version>程序版本</Version> <Title>安装向导名称</Title> <Publisher>版权所有方名称</Publisher> <StartMenuDir>开始菜单的名称</StartMenuDir> <TargetDir>缺省的指定安装目录</TargetDir> </Installer>

修改后内容如下:

<?xml version="1.0"encoding="UTF-8"?> <Installer> <Name>hvplayer</Name> <Version>1.18.01.15</Version> <Title>hvplayer安装</Title> <Publisher>hujianfeng</Publisher> <StartMenuDir>hvplayer</StartMenuDir> <TargetDir>@rootDir@/Program Files(x86)/hvplayer</TargetDir> </Installer>

4、修改包信息文件packages.xml

修改myapp_setup\packages\com.vendor.product\meta\packages.xml文件。原文件如下:

<?xml version="1.0"encoding="UTF-8"?> <Package> <DisplayName>The root component</DisplayName> <Description>Install this example.</Description> <Version>0.1.0-1</Version> <ReleaseDate>2010-09-21</ReleaseDate> <Licenses> <License name="Beer Public License Agreement"file="license.txt" /> </Licenses> <Default>script</Default> <Script>installscript.qs</Script> <UserInterfaces> <UserInterface>page.ui</UserInterface> </UserInterfaces> </Package>

各配置项描述如下:

<?xml version="1.0"encoding="UTF-8"?> <Package> <DisplayName>安装组件名称</DisplayName> <Description>安装组件描述.</Description> <Version>版本</Version> <ReleaseDate>建立日期</ReleaseDate> <Licenses> <License name="许可协议文件" file="license.txt" /> </Licenses> <Default>安装脚本文件</Default> <Script>installscript.qs</Script> <UserInterfaces> <UserInterface>安装界面定义文件page.ui</UserInterface> </UserInterfaces> </Package>

修改后内容如下:

<?xml version="1.0"encoding="UTF-8"?> <Package> <DisplayName>hvplayer</DisplayName> <Description>hvplayer视频播放器</Description> <Version>1.18.01.15</Version> <ReleaseDate>2018-01-15</ReleaseDate> <Licenses> <License name="General Public License v3"file="license.txt" /> </Licenses> <Default>script</Default> <Script>installscript.qs</Script> </Package>

5、修改安装脚本

修改myapp_setup\packages\com.vendor.product\meta目录下的installscript.qs,原文件如下:

function Component() { //constructor component.loaded.connect(this, Component.prototype.loaded); if(!installer.addWizardPage(component, "Page",QInstaller.TargetDirectory)) console.log("Could not add the dynamic page."); } Component.prototype.isDefault = function() { // selectthe component by default returntrue; } Component.prototype.createOperations = function() { try { //call the base create operations function component.createOperations(); } catch(e) { console.log(e); } } Component.prototype.loaded = function () { var page= gui.pageByObjectName("DynamicPage"); if (page!= null) { console.log("Connecting the dynamic page entered signal."); page.entered.connect(Component.prototype.dynamicPageEntered); } } Component.prototype.dynamicPageEntered = function() { varpageWidget = gui.pageWidgetByObjectName("DynamicPage"); if(pageWidget != null) { console.log("Setting the widgets label text.") pageWidget.m_pageLabel.text = "This is a dynamically createdpage."; } }

这里只简单修改Component.prototype.createOperations= function()函数,修改后内容如下:

Component.prototype.createOperations = function() { try { //call the base create operations function component.createOperations(); if(systemInfo.productType === "windows") { component.addOperation("CreateShortcut","@TargetDir@/hvplayer.exe", "@StartMenuDir@/hvplayer.lnk"); component.addOperation("CreateShortcut","@TargetDir@/hvplayer.exe","@HomeDir@/Desktop/hvplayer.lnk"); component.addOperation("CreateShortcut","@TargetDir@/maintenancetool.exe", "@StartMenuDir@/更新或卸载.lnk"); } } catch(e) { console.log(e); } }

3 拷贝包安装依赖文件

在qt开始菜单下打开相应环境的命令行,执行:

windeployqt.exe D:\myapp_setup\packages\com.vendor.product\data

Windeployqt工具将把所有依赖文件拷贝到可执行文件所在的目录。

4 生成安装包

1、把Qt installer framework安装目录的bin目录加入系统的path环境变量。

2、打开命令行终端,进入myapp_setup目录,运行binarycreator.exe命令。

binarycreator.exe -c config\config.xml -p packagessetup.exe

Binarycreator工具将在myapp_setup目录内生成setup.exe安装文件。

下面是我生成的一个视频播放器示例:
https://pan.baidu.com/s/1jJ2rbl8

 

 

转载请注明原文地址: https://www.6miu.com/read-1700260.html

最新回复(0)