Qt installer framework學習


一、官網的介紹部分網址

http://doc.qt.io/qtinstallerframework/ifw-overview.html

 

二、安裝界面介紹

2.1 安裝界面流程

介紹>>選擇路徑>>選擇組件>>接收協議>>選擇窗口程序組(注冊表名字)>>安裝
 

2.2 組件增加流程

開始>>選擇額外組件>>安裝
 

2.3 組件刪除流程

開始>>刪除
 

2.4更新組件

開始>>選擇要升級的組件>>安裝
 

三、目錄和文件結構介紹

3.1 config目錄

以tutorial為例,在config子目錄下,有config.xml文件,該文件用來自定義向導UI和行為。
    <?xml version="1.0" encoding="UTF-8"?>  
    <Installer>  
        <Name>你開發的軟件的名字</Name>  
        <Version>1.2.3</Version>  
        <Title>安裝向導的名字</Title>  
        <Publisher>版權所有方名字(比如你的公司)</Publisher>  
        <StartMenuDir>開始菜單的名字</StartMenuDir>  
        <TargetDir>缺省的指定安裝目錄</TargetDir>  
    </Installer>  

官網的config介紹

<Title>指定了顯示在內容上的標題的安裝名字
<NAME>是標題下面的文本框中的文字
<Version>指定應用的版本號
<Publisher>在控制面板中顯示的名字
<StartMenuDir>開始菜單中的名字
<TargetDir>默認的指定目錄,當前用戶的目錄下安裝
個人理解

 

3.2 package文件夾目錄

package文件夾的目錄形式為

-packages
    - com.vendor.root
        - data
        - meta
    - com.vendor.root.component1
        - data
        - meta
    - com.vendor.root.component1.subcomponent1
        - data
        - meta
    - com.vendor.root.component2
        - data
        - meta
View Code

root相當於根節點控件,增加文件夾就是增加組件了

package文件夾下有data和meta兩個文件夾,data是需要打包的組件內容,metal是一些控制腳本文件。

<?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>  
    <Name>com.vendor.product</Name>  
    <Licenses>  
        <License name="Beer Public License Agreement" file="license.txt" />  
    </Licenses>  
    <Default>script</Default>  
    <Script>installscript.qs</Script>  
</Package> 
<DisplayName>組件列表名字
<Description>顯示組件的書名內容
<Version>如果開啟更新,就可以用
<Licenses>許可證
<Default>選的組件如何運行的方式?這里用了scrip
<Script>JavaScript script file腳本名字
DisplayName:能被人類讀的組件名字,
Description:組件的描述
Version:版本號
ReleaseDate:組件發布的版本日期,必須
Name:組件的身份標識,必須
Dependencies:組件的依賴,用逗號分隔列表,用橫杠區分版本號,用&lt代替"<"
AutoDependOn:
Virtual:設置為真隱藏安裝組件,注意設置根組件上是無效的
SortingPriority:組件的優先級樹,樹的排序從高到底,高的在最頂上
Licenses:列出需要用戶同意的license,用name和file指定license文件,支持ASCII和UTF8
Script:需要加載的腳本文件名
UserInterfaces:要加載的頁列表,<UserInterface>子元素
Translations:國際化語言的列表文件
Updatetext:如何這個給組件更新的,那就把這個添加進描述中,可選。
Default:可以的值是true,false和script。設置true預選組件,這個只會影響沒有子組件的組件。
               false應該是關了,腳本在運行時解析。在<Script>增加腳本名字,
Essential:重啟MaintenanceTool工具的必要條件,如果有一個可以更新的基本的組件,包管理器將保持禁用,直到該組件被更新。新引入的基本組件是在運行updater時自動安裝的。
ForcedInstallation:確定必須安裝的包,終端用戶不能取消在安裝過程中
Replaces:用逗號列出組件的替換,可選
DownloaddableArchives:在線安裝需要下載的文件
RequiresAdminRights:如果設置為true,包安裝需要在高權限下,可選
Checkable:如果你想要隱藏checkbox的item,選擇false。當只要選擇部分子組件時,會很有效
View Code

 

3.3 script文件

必須包含

function  Component()

{

   // constructor

}
View Code

此處為安裝的程序,在開始菜單處設置連接;

    //"@TargetDir@/sunshine.exe"指定exe的路徑,//"@StartMenuDir@/sunshine.lnk"指定鏈接  
    Component.prototype.createOperations = function()  
    {  
       // call default implementation to actually install README.txt!  
       component.createOperations();  
       
       if (installer.value("os") === "win") {  
           component.addOperation("CreateShortcut", "@TargetDir@/test.exe", "@StartMenuDir@/test.lnk");  
       }  
    }  

 

 四、構建安裝包

<location-of-ifw>\binarycreator.exe -t <location-of-ifw>\installerbase.exe -p <package_directory> -c <config_directory>\<config_file> <installer_name>

 我的使用方法:

C:\Qt\QtIFW2.0.3\bin>binarycreator.exe -p ./Mytutorial/packages -c ./Mytutorial/config/config.xml WeiHua_NetWork_Windows_2018.1.26.exe

 

 五、配置依賴文件

從開始菜單-->Qt 5.7.0-->5.7-->MinGW 5.3.0 (32-bit)-->Qt 5.7 for Desktop (MinGW 5.3.0 32 bit),可以打開 Qt 命令行,從這里就可以執行 windeployqt 工具。

windeployqt myapp.exe

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM