使用Qt Installer Framework制作软件安装包
概述
Qt Installer Framework(縮寫QIF)是Qt官方用于生成軟件安裝包的工具。包括Qt Creator和Qt Installer Framework自身的安裝包都是由這個(gè)工具制作的。詳細(xì)說明請(qǐng)?jiān)L問QIF的官方文檔。
環(huán)境
我使用的環(huán)境是Windows7 64位和Qt Installer Framework 2.0.3
下載
首先根據(jù)自己的平臺(tái)(Linux或Windows等)去Qt官網(wǎng)下載Qt Installer Framework的安裝包或者源碼。為了簡(jiǎn)單起見,我下載是安裝包。然后像普通軟件那樣雙擊安裝。
目錄結(jié)構(gòu)
安裝好后,并不是一個(gè)直接可用的圖形界面軟件。而是提供了一些可執(zhí)行的工具程序(Windows下是exe文件),然后根據(jù)規(guī)則,利用這些工具生成安裝包。
假設(shè)安裝在D:,則生成目錄D:\QtIFW2.0.3,其中2.0.3是版本號(hào)。目錄結(jié)構(gòu)如下圖所示。
1、bin
bin中包含的就是我們需要用到的工具。最簡(jiǎn)單地,我們只用其中一個(gè),叫binarycreator.exe
2、doc
doc中包含幫助文檔。文檔的格式是網(wǎng)頁(html)。也可以去官方網(wǎng)站上查看文檔。文檔是英文。不過很詳細(xì)。
3、examples
examples中包含了很多Qt Installer Framework的例子。初學(xué)者只需要將例子作為模板,按照自己的情況修改即可。
4、Licenses
Licenses中包含了Qt Installer Framework的Licenses,例如LGPL等。
準(zhǔn)備
1、目錄結(jié)構(gòu)
用QIF生成安裝包時(shí),必須先按照規(guī)范建立目錄結(jié)構(gòu)。
參考examples中的目錄結(jié)構(gòu),例如examples/tutorial目錄中的結(jié)構(gòu)如下:
規(guī)范的目錄結(jié)構(gòu)中,包含一個(gè)config文件夾和一個(gè)packages文件夾。其中config文件夾中只包含一個(gè)config.xml文件,用于描述軟件以及安裝包的一些信息。packages文件夾包含了安裝包的信息描述、行為描述以及數(shù)據(jù)。其中,packages中的每一個(gè)子文件夾都表示不同的軟件,或者軟件的一個(gè)模塊或者部件,例如com.vendor.product1、com.vendor.product2等等。
其結(jié)構(gòu)可能如下
對(duì)于簡(jiǎn)單的軟件,可能只有一個(gè)模塊,對(duì)應(yīng)一個(gè)文件夾。
每個(gè)子文件夾下都有兩個(gè)文件夾data和meta,前者包含了所有軟件的數(shù)據(jù),包括可執(zhí)行文件、鏈接庫文件、配置文件等等,將所有這些文件壓縮成.7z壓縮包后,放入此文件夾;后者包含了至少3個(gè)文件,installscript.qs、license.txt、package.xml,分別用于描述安裝行為、許可信息、模塊或軟件的描述(用于選擇模塊的頁面上),其中l(wèi)icense.txt文件名可變,只需要在腳本中做相應(yīng)修改即可。
2、config.xml
config/config.xml定義了安裝程序的行為。
例子如下:
其中各個(gè)標(biāo)簽的含義如下:
- < Name> 軟件名稱
- < Version> 版本號(hào)
- < Title> 安裝程序窗口標(biāo)題
- < Publisher> 發(fā)布者名稱
- < StartMenuDir> 要生成的windows開始菜單目錄
- < TargetDir> 默認(rèn)安裝路徑
config.xml支持的標(biāo)簽很多,不過多數(shù)都是可選的,只有上述這些是必須的。請(qǐng)參考官方文檔,根據(jù)需要添加標(biāo)簽。
3、data
data文件夾下包含了你要發(fā)布的軟件的全部數(shù)據(jù)文件,包括可執(zhí)行文件、鏈接庫文件、數(shù)據(jù)庫、配置文件等等。將所有文件用.7z格式打包后,放在data文件夾下即可。
4、meta/installscript.qs
installscript.qs的語言類似于javascript,用于定義安裝軟件包的行為(如果軟件有多個(gè)組件,每個(gè)分別配置),例如是否默認(rèn)選中、是否生成開始菜單快捷方式、是否生成桌面快捷方式、是否有額外的安裝步驟需要添加到常規(guī)步驟中。具體說明請(qǐng)參考examples中的例子以及官方文檔。
5、meta/license.txt
將軟件有關(guān)的許可信息,寫在此文件中,會(huì)在安裝過程中顯示并要求用戶同意。
文件名稱可以修改,不過修改過后要修改package.xml中對(duì)應(yīng)的腳本。
6、meta/package.xml
meta/package.xml定義了安裝包在處理此部件時(shí)要顯示的信息。
例子如下:
其中各個(gè)標(biāo)簽的含義如下:
- < DisplayName> 顯示的名稱
- < Description> 描述
- < Version> 部件的版本號(hào)
- < ReleaseDate> 發(fā)行日期
- < Name> 部件名稱(與文件夾名一致)
- < Licenses> 許可信息名稱以及許可文件名
- < Script> 腳本文件
- < UserInterfaces> 額外的界面(如果需要的話,而且需要去installscript.qs中配置)
同樣地,支持的標(biāo)簽很多,不過多數(shù)都是可選的,上述這些也不一定是必須的。請(qǐng)參考官方文檔,根據(jù)需要添加標(biāo)簽。
制作安裝包
完成上述準(zhǔn)備工作后,使用binarycreator.exe工具生成安裝包。
需要在命令行中操作。在開始菜單中搜索cmd,或按下win+r輸入cmd回車,打開命令行。轉(zhuǎn)到剛才準(zhǔn)備好的目錄中。
例如:
其中,路徑一定要對(duì),YourInstaller.exe是安裝包文件名,換成你想要的名稱即可。
轉(zhuǎn)載于:https://www.cnblogs.com/xia-weiwen/p/6857333.html
總結(jié)
以上是生活随笔為你收集整理的使用Qt Installer Framework制作软件安装包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: postman的使用方法详解!最全面的教
- 下一篇: STL源码分析-bitset