likes
comments
collection
share

Flutter应用Windows安装包创建教程

作者站长头像
站长
· 阅读数 8

[TOC]

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

安装 Inno Setup

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

https://jrsoftware.org/isdl.php

Flutter应用Windows安装包创建教程

创建 Windows 安装包

编译 Flutter APP

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

flutter build windows --release

Flutter应用Windows安装包创建教程

这里输出的 build/windows/runner/Release 目录就是编译好的软件目录。

创建安装包脚本

打开 Inno Setup,选择 Create a new script file using the Script Wizard

Flutter应用Windows安装包创建教程

然后点击 “下一步”,在下面这个页面,填写应用的基本信息

Flutter应用Windows安装包创建教程

下一步,修改应用文件夹名称

Flutter应用Windows安装包创建教程

然后就进入到了比较关键的页面了,下面的页面中,选择应用包含的文件

Flutter应用Windows安装包创建教程 注意上图中 ①②③ 的说明:

  • ① 选择应用的可执行文件,在项目目录的 build/windows/runner/Release/应用名称.exe

    Flutter应用Windows安装包创建教程

  • ② 添加应用包含的 dll 文件,这里选择的是 Release 目录下最外层的 dll 文件

    Flutter应用Windows安装包创建教程

  • ③ 选择 Release 目录下的 data 目录

    Flutter应用Windows安装包创建教程

    Flutter应用Windows安装包创建教程

    ⚠️ 在添加完目录后,需要选中目录,点击 Edit,设置目标子文件夹为 data

    Flutter应用Windows安装包创建教程

然后点击下一步,不需要关联文件类型

Flutter应用Windows安装包创建教程

下一步,允许用户创建桌面快捷方式

Flutter应用Windows安装包创建教程

接下来选择应该应用的文档,没有的话可以直接跳过

Flutter应用Windows安装包创建教程

接下来就是选择安装模式,默认 “使用个管理员安装模式”,安装后,系统中所有用户都可以使用 APP

Flutter应用Windows安装包创建教程

再次点击下一步,选择语言,然后下一步,这里设置输出文件夹,文件名,应用 Logo 等信息

Flutter应用Windows安装包创建教程

最后一路点击下一步,直到完成,保存脚本为 install.iss 文件。

Flutter应用Windows安装包创建教程

打包

打开创建好的 install.iss 文件,在 Inno Setup Complier 中,点击“编译”按钮,就可以开始应用的打包了。

Flutter应用Windows安装包创建教程

输出下面的信息,说明打包完成了,在输出目录中就可以看到打包好的应用安装包了。

Flutter应用Windows安装包创建教程

如下图所示,双击安装包就可以愉快的安装了

Flutter应用Windows安装包创建教程

常见问题

如何设置默认勾选 “创建桌面快捷方式”

install.iss 文件中,将下图中的 Flags 设置为 checkablealone

Flutter应用Windows安装包创建教程

效果

Flutter应用Windows安装包创建教程

启动应用后,报错缺少 msvcp140.dll、vcruntime140.dll、vcruntime140_1.dll 文件

解决该问题,首先需要在开发机上(编译所用的 Windows 电脑),从 C:/Windows/System32 目录下找到这个文件,拷贝到项目的 windows 目录中

Flutter应用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)

Flutter应用Windows安装包创建教程

然后重新编译应用即可,需要注意的是,不要忘记在 Inno Setup 脚本 install.iss 文件中将这三个文件加进去。

Flutter应用Windows安装包创建教程

转载自:https://juejin.cn/post/7342148728134991884
评论
请登录