軟體安裝程式第一篇(原理)

楊發荷發表於2020-11-28

1、前言

最近有童鞋給我留言說我之前寫的軟體安裝介面有點醜而且缺少很多功能。因為當時只是為了實現安裝,所以使用了MFC作為安裝介面,大家也知道,MFC做介面確實不咋滴。所以我將軟體安裝介面用Qt進行了重寫。同時也將安裝過程和大家分享一下。當然,不同的打包軟體出來的安裝包可能與本文介紹的不一樣,所以大家不要噴我。
在這裡插入圖片描述

2、要求

用Qt將安裝程式重寫,使得支援一下幾個要求:

2.1、安裝程式有一個安裝介面(支援圖片和動畫)

2.2、新增軟體許可介面

2.3、新增軟體資訊介面

2.4、新增支援安裝路徑

2.5、新增了安裝進度介面以及安裝的詳細資訊

2.6、新增了安裝完成介面

2.7、介面上的顯示的東西都可以自定義

3、技術路線

1、控制檯實現載入程式

在這裡插入圖片描述

2、新增安裝介面

在這裡插入圖片描述

3、新增打包檔案

在這裡插入圖片描述

4、存在的難題

4.1、問題1

安裝程式是使用Qt寫的,但是Qt程式執行必須要在Qt環境下執行,比如exe程式必須要和QtxCore.dll、QtxGui.dll、QtxWidgets.dll等dll檔案放在一起才能執行,否則就會報以下錯誤:
在這裡插入圖片描述在這裡插入圖片描述
當然我們把exe檔案放到這些dll資料夾下,那麼就會引起第二個問題。

4.2、問題2

軟體安裝程式都是一個exe檔案,不可能說是多個檔案。所以在這裡我們又如何將安裝介面組裝到我們安裝程式中呢!

5、思路

我這裡使用了C++控制檯程式作為安裝軟體的載入程式,這個載入程式有兩個作用:
第一:在命令列中執行載入程式,並且後面帶有一個資料夾(安裝介面)路徑作為引數時,載入程式會將檔案進行壓縮,然後作為載入程式資原始檔寫入。
第二:當直接執行載入程式時,載入程式首先釋放安裝介面到一個隱藏的資料夾中,然後再建立一個程式啟動安裝介面,在啟動安裝介面的時候,將自己的檔案路徑作為命令列引數傳遞給安裝介面。安裝介面啟動之後,首先根據傳入引數,進行解析EXE,獲取安裝介面上顯示的圖片、動畫以及文字等資訊。最後當安裝介面點選安裝時,再深層次解析EXE,將打包檔案釋放到指定的資料夾中,從而進行對軟體的安裝。

軟體安裝程式(第二篇)

相關文章