[TOC]
本文中,我們將會使用 Inno Setup 這個軟體來為 Flutter 應用建立 Windows 安裝包。
安裝 Inno Setup
首先安裝 Inno Setup 這個軟體,
在 Inno Setup Downloads 下載安裝 Inno Setup,下載地址在這裡
https://jrsoftware.org/isdl.php
建立 Windows 安裝包
編譯 Flutter APP
使用命令列編譯 Flutter APP 的 Windows 版本
flutter build windows --release
這裡輸出的 build/windows/runner/Release
目錄就是編譯好的軟體目錄。
建立安裝包指令碼
開啟 Inno Setup,選擇 Create a new script file using the Script Wizard
然後點選 “下一步”,在下面這個頁面,填寫應用的基本資訊
下一步,修改應用資料夾名稱
然後就進入到了比較關鍵的頁面了,下面的頁面中,選擇應用包含的檔案
注意上圖中 ①②③ 的說明:
① 選擇應用的可執行檔案,在專案目錄的
build/windows/runner/Release/應用名稱.exe
② 新增應用包含的 dll 檔案,這裡選擇的是 Release 目錄下最外層的 dll 檔案
③ 選擇 Release 目錄下的
data
目錄⚠️ 在新增完目錄後,需要選中目錄,點選
Edit
,設定目標子資料夾為data
然後點選下一步,不需要關聯檔案型別
下一步,允許使用者建立桌面快捷方式
接下來選擇應該應用的文件,沒有的話可以直接跳過
接下來就是選擇安裝模式,預設 “使用個管理員安裝模式”,安裝後,系統中所有使用者都可以使用 APP
再次點選下一步,選擇語言,然後下一步,這裡設定輸出資料夾,檔名,應用 Logo 等資訊
最後一路點選下一步,直到完成,儲存指令碼為 install.iss 檔案。
打包
開啟建立好的 install.iss
檔案,在 Inno Setup Complier 中,點選“編譯”按鈕,就可以開始應用的打包了。
輸出下面的資訊,說明打包完成了,在輸出目錄中就可以看到打包好的應用安裝包了。
如下圖所示,雙擊安裝包就可以愉快的安裝了
常見問題
如何設定預設勾選 “建立桌面快捷方式”
在 install.iss
檔案中,將下圖中的 Flags 設定為 checkablealone
效果
啟動應用後,報錯缺少 msvcp140.dll、vcruntime140.dll、vcruntime140_1.dll 檔案
解決該問題,首先需要在開發機上(編譯所用的 Windows 電腦),從 C:/Windows/System32
目錄下找到這個檔案,複製到專案的 windows
目錄中
然後在 windows/CMakeLists.txt
檔案中新增以下內容
install(FILES "msvcp140.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
CONFIGURATIONS Profile;Release
COMPONENT Runtime)
install(FILES "vcruntime140.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
CONFIGURATIONS Profile;Release
COMPONENT Runtime)
install(FILES "vcruntime140_1.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
CONFIGURATIONS Profile;Release
COMPONENT Runtime)
然後重新編譯應用即可,需要注意的是,不要忘記在 Inno Setup
指令碼 install.iss
檔案中將這三個檔案加進去。