用Inno Setup給程式製作安裝包

標題我沒寫QT學習,因為這個InnoSetup可以給任何檔案生成安裝包。

InnoSetup這好像是個免費軟體,但我去官網發現只有英文版,所以我在國內下了個漢化版,大家有需要可以自行去下載。

安裝完開啟InnoSetup,然後我們點選“檔案”->“新建”,是這個樣子:

用Inno Setup給程式製作安裝包

新建安裝指令碼嚮導

點選下一步,設定好應用程式名稱、版本及其它資訊:

用Inno Setup給程式製作安裝包

設定好程式資訊

然後下一步,設定程式要安裝到的地方

用Inno Setup給程式製作安裝包

設定安裝資料夾

這裡第一個框我們用預設的,這時我們的程式會裝到C:\Program Files(X86)資料夾下的LaoZhao子資料夾下,但是我們給使用者選擇的權力(下面那個勾),下一步。

這步選擇我們的程式的可執行檔案(nowater。exe),就是我們前面編譯出來的那個軟體,並把我們前面用windeployqt複製了好多檔案的那個資料夾新增進來(D:\qtexe)。下一步。

用Inno Setup給程式製作安裝包

打包檔案和資料夾

再下一步是應用程式快捷方式的選項,這裡預設就行了,我就不截圖了。再下一步。

這一步是程式的許可檔案,就是咱們平時安裝程式時顯示的那個什麼什麼協議,我同意,不同意之類的那個檔案,還有兩個檔案可以在安裝前和安裝完成後顯示。這裡我圖省事,就先不做這三個檔案了。下一步。

用Inno Setup給程式製作安裝包

安裝許可檔案

接下來的這一步是安裝模式:

用Inno Setup給程式製作安裝包

安裝模式

這裡預設是第一個選項,所有用這臺電腦的使用者都可以用這個軟體,雙擊安裝包安裝時會提示獲取管理員許可權。

第二個選項則是普通安裝,不提示要求許可權,但是安裝的軟體只有當前使用者有可執行許可權和開始選單快捷方式等等。

第三個……我也不知道啥意思。

第四個選項則是在啟動安裝包時把選擇權給客戶,可以選給當前使用者安裝,也可以選擇給全部使用者安裝。勾選這個選項時會強制勾選第三個選項。在這裡我勾上了,讓使用者多一份選擇嘛。

下一步,這一步是選擇安裝程式的語言,預設是選的中文,如果你的程式要全球化,就多選幾個。

再下一步,這步是設定生成的安裝檔案存在哪裡,及它的檔名稱,還可以自已定義安裝程式的圖示,而且還可以給安裝程式設定密碼,這樣可以防止一些內部程式的洩露,洩露了他們也無法安裝。

用Inno Setup給程式製作安裝包

安裝包設定

然後是再兩次的下一步、完成。然後會提示你是否現在編譯安裝指令碼,等個毛線啊,編譯。

然然然然後就是等幾秒鐘,就成功了:

用Inno Setup給程式製作安裝包

編譯成功

然後我們去剛才設定的輸出目錄裡看一下

用Inno Setup給程式製作安裝包

生成的安裝包

哈哈,安裝包生成了。

下面我們執行它並實際安裝一下

用Inno Setup給程式製作安裝包

第一步

用Inno Setup給程式製作安裝包

第三步

用Inno Setup給程式製作安裝包

第四步

用Inno Setup給程式製作安裝包

第五步

下面就沒啥關鍵步驟了。別問我為什麼沒第二步,因為那是在申請許可權,所有軟體都暫停執行,無法截圖。

安裝完成後開始選單和桌面都會有我們的程式的圖示,點選就能執行,而且在我們程式的目錄,還會生成解除安裝檔案unins000。exe,控制面板的程式裡面也會有我們程式的解除安裝方式。

是不是很厲害。

厲害個毛線啊,咱們這個程式不是會把下載目錄儲存到config。ini中麼,而且我們讀寫config。ini時沒加路徑,當時我就天真的以為這個檔案會和exe檔案在同一個目錄下。可是我剛才安裝好並執行後,程式的目錄裡並沒有config。ini,這就奇怪了。

後來用Windows的搜尋功能搜尋了一下,才在下面這個路徑中找到了,看來程式的起始目錄並不是它的存放目錄啊,有玄機。。。而且我還在此處找到了有個Tencent資料夾,裡面是微信的某些東西。。。

用Inno Setup給程式製作安裝包

程式起始目錄

看來要獲得程式存放目錄,還是要手動獲得呀,不能依靠“。/”。