Flutter應用Windows安裝包建立教程

發表於2024-03-04

[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 檔案中將這三個檔案加進去。

相關文章