Qt之打包發佈(NSIS詳解)

發佈方式   
  Qt發佈的時候,一般使用兩種方式:
  (1)靜態編譯
  (2)動態編譯
  靜態編譯:把相關聯的庫一併引入可執行程序,雖然發佈簡單,但可執行程序較大。。。
  動態編譯:相關聯的庫,以dll的形式引用,不被包含進可執行程序,發佈不方便,但可執行程序較小。。。
  靜態發佈雖然不須要較多的dll,發佈簡單、方便,可是每每會牽扯到受權問題(詳情請查看Qt  LGPL受權),動態發佈則能夠避免。。。若是附帶了Qt的dll,就至關於發佈了Qt的dll,而這些庫是屬於Qt的,這足以保證使用者知道程序使用了LGPL版本的Qt(這部分還有待探討)。

查找依賴項
一、檢測可執行程序依賴模塊
  下載工具:Dependency Walker
  打開可執行程序,檢測依賴項
Qt之打包發佈(NSIS詳解)
  檢測完成以後,將所需依賴庫拷貝進去。。。再次進行檢測,反覆進行。

二、經常使用依賴庫
(1)Qt模塊庫
  Qt5Cored.dll
  Qt5Guid.dll
  Qt5Widgetsd.dll
(2)ICU依賴庫
  icudt51.dll
  icuin51.dll
  icuuc51.dll
(3)EGL依賴庫
  libEGLd.dll
  libGLESv2d.dll
(4)插件庫(Qt安裝目錄下便可找到D:\Software\Qt\Qt5.1.0\5.1.0\msvc2010\plugins\platforms)
  圖片支持庫:imageformats
  音頻、視頻支持庫:mediaservice
  平臺支持庫:platforms
  等等。。。
   注意:查找對應的插件文件夾,粘貼到安裝目錄(必定要保持目錄結構,例如「 platforms/***.dll」),詳細結構見打包發佈準備的文件組織結構。    
(5)VS運行時庫(在VS安裝目錄下便可找到D:\Software\Microsoft Visual Studio\VC\redist)
  msvcp100d.dll
  msvcr100d.dll

  注意:發佈程序的時候注意版本(Debug/Release)
  若是是Debug版本的則是.前面帶d的(Qt5Cored.dll、Qt5Guid.dll、Qt5Widgetsd.dll)
  若是是Release版本的則是.前面不帶d的(Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll)
   
  以上是我所用到的依賴庫,基本能夠解決問題,包括:
    Qt之打包發佈(NSIS詳解)

關於NSIS
一、NSIS簡介
(1)NSIS是什麼?
  一款免費的Win32安裝、卸載系統!
(2)NSIS有什麼特色?
  腳本簡潔高效、系統開銷小,進行安裝、卸載、設置、解壓文件也不在話下,幾乎能夠作全部的事情。

二、工具
  NSIS Edit + NSIS

三、使用方式
  腳本嚮導 + 修改代碼 = 個性化安裝包

準備文件
  如下是我即將打包的全部文件,安裝包目錄結構(包括:可執行程序、 插件庫、運行時庫、受權文件、卸載程序圖標等等!)以下圖所示:
Qt之打包發佈(NSIS詳解)
一、利用嚮導製做安裝包:
Qt之打包發佈(NSIS詳解)

二、填寫應用程序基本信息

Qt之打包發佈(NSIS詳解)

三、指定安裝程序所用選項
   注意:這裏選擇語言爲SimpChinese
Qt之打包發佈(NSIS詳解)

四、設置應用程序安裝目錄與受權文件

Qt之打包發佈(NSIS詳解)

五、指定應用程序文件

Qt之打包發佈(NSIS詳解)

六、指定建立應用程序圖標

Qt之打包發佈(NSIS詳解)

七、選擇安裝程序完成後運行的動做

Qt之打包發佈(NSIS詳解)

八、指定接觸安裝程序屬性

Qt之打包發佈(NSIS詳解)

九、進行腳本編譯、保存

Qt之打包發佈(NSIS詳解)

十、等待編譯完成,便可運行打包後的安裝包
Qt之打包發佈(NSIS詳解)

  大功告成以後,便可進行安裝!

(1)安裝程序

Qt之打包發佈(NSIS詳解)

(2)此處顯示受權文件中的內容

Qt之打包發佈(NSIS詳解)

(3)選擇安裝目錄

Qt之打包發佈(NSIS詳解)

(4)運行程序,並顯示「自述文件」

Qt之打包發佈(NSIS詳解)

(5)運行結果

Qt之打包發佈(NSIS詳解)

  關於Qt的打包工具瞭解一些,我的感受NSIS用起來比較順手,腳本修改起來也方便,因此就推崇一下。。。若想將安裝包變得更加美觀,則須要手動修改腳本,更多信息請查找相關資料,此處再也不多作介紹!
相關文章
相關標籤/搜索