Flutter应用Windows安装包创建教程

TOC

本文中,我们将会使用 Inno Setup 这个软件来为 Flutter 应用创建 Windows 安装包。

安装 Inno Setup

首先安装 Inno Setup 这个软件, 在 Inno Setup Downloads 下载安装 Inno Setup,下载地址在这里

arduino 复制代码
https://jrsoftware.org/isdl.php

创建 Windows 安装包

编译 Flutter APP

使用命令行编译 Flutter APP 的 Windows 版本

bash 复制代码
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 文件中添加以下内容

bash 复制代码
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 文件中将这三个文件加进去。

相关推荐
love530love29 分钟前
【OpenClaw 本地实战 Ep.3】突破瓶颈:强制修改 openclaw.json 解锁 32k 上下文记忆
人工智能·windows·json·cuda·lm studio·openclaw·context length
刮涂层_赢大奖1 小时前
我给MAC做了一个 Windows 任务栏,用了之后再也回不去 Dock 了
windows·macos·ios
哈__2 小时前
基础入门 Flutter for OpenHarmony:video_thumbnail 视频缩略图详解
flutter·音视频
聂 可 以2 小时前
Windows环境Git安装教程(下载Git安装包、安装Git、验证Git是否安装成功)
windows·git
lqj_本人3 小时前
Flutter三方库适配OpenHarmony【apple_product_name】华为Pura系列设备映射表
flutter·华为
空白诗4 小时前
基础入门 Flutter for OpenHarmony:Divider 分割线组件详解
flutter
secondyoung5 小时前
Git使用:Git使用问题及解决方法总结
windows·经验分享·git·vscode·gitee·github·gitcode
阿林来了6 小时前
Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别停止与取消
flutter·语音识别·harmonyos
哈__6 小时前
基础入门 Flutter for OpenHarmony:flutter_slidable 列表滑动操作详解
flutter
呆萌的代Ma6 小时前
解决windows记事本打开后打开上一次的文件导致卡死
windows