赞
踩
从QT官网的http://download.qt.io/official_releases/qt-installer-framework/下载qt installer framework安装程序进行安装。
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工具将把所有依赖文件拷贝到可执行文件所在的目录。
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安装文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。