QT Installer Framework 打包程序


文件准備

  1. 編譯程序 Release 版本,拷貝生成的 exe 到某個目錄下。

  2. 拷貝依賴庫到上面的文件夾:

  • 根據自己實際使用的編譯器,打開終端,執行 windeployqt D:\installer\test.exe

這里列舉出了程序的依賴庫,但是沒有自動拷貝到 test.exe 的目錄下,我們可以手動拷貝上面的依賴庫,根據使用的編譯器版本選擇相應的庫,我的是 D:\Qt\5.14.0\mingw73_32\bin

此時,可以嘗試運行一下 exe 看是否缺少依賴庫或插件,我的運行之后發現:

解決辦法是將對應使用的編譯器版本的libstdc++-6.dll 也拷貝到上面的文件夾。

上面的程序如果雙擊可以直接運行則證明庫和插件已滿足,但是由於電腦配置不同,可以借助另一台電腦測試一下,或者使用 Dependency 查看程序的依賴庫:

如果不需要增加其他的附件文件,這樣就可以了,如果需要增加用戶手冊、配置文件、License 這樣的文件,可以添加到此文件目錄下。

程序打包

參考官方文檔

下載 Qt Installer Framework 安裝。

直接從安裝路徑下拷貝一個example,例如拷貝一個 startmenu 的例子,重命名為 test_Installer:

把前面打包過的文件全部復制到 packages下面的 data 文件夾里,注意是和 exe 同一級目錄的所有文件。

其中的文件組織形式:

修改配置文件,在config目錄下,有一個config.xml文件,使用文本編輯器打開,根據自己的需求進行修改:

< Name> 軟件名稱
< Version> 版本號
< Title> 安裝程序窗口標題
< Publisher> 發布者名稱
< StartMenuDir> 要生成的windows開始菜單目錄
< TargetDir> 默認安裝路徑

修改包信息文件,在packages目錄下,有一個package.xml文件,使用文本編輯器打開,根據自己的需求進行修改:

< DisplayName> 顯示的名稱
< Description> 描述
< Version> 部件的版本號
< ReleaseDate> 發行日期
< Licenses> 許可信息名稱以及許可文件名
<Default>默認是否選中協議
< Script> 腳本文件
< UserInterfaces> 額外的界面(如果需要的話,而且需要去installscript.qs中配置)

修改 installscript.qs 文件,增加啟動欄、桌面快捷方式:

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", "@TargetDir@/test.exe", "@StartMenuDir@/MegPadUi.lnk");
        component.addOperation("CreateShortcut", "@TargetDir@/test.exe", "@HomeDir@/Desktop/test.lnk");
        component.addOperation("CreateShortcut", "@TargetDir@/maintenancetool.exe", "@StartMenuDir@/Remove.lnk");
    }
}

CMD 執行:

C:\Qt\QtIFW-3.2.2\bin\binarycreator -c config\config.xml -p packages test.exe -v

最終生成安裝包:


免責聲明!

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



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