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 文件中将这三个文件加进去。

相关推荐
南宫码农6 分钟前
我的电视 - Android原生电视直播软件 完整使用教程
android·开发语言·windows·电视盒子
2601_949847751 小时前
Flutter for OpenHarmony音乐播放器App实战13:歌手列表实现
flutter
雨季6661 小时前
破界与共生:HarmonyOS原生应用生态全景图谱与PC时代三重变局
flutter·华为·harmonyos
哈基米~南北绿豆1 小时前
虚拟机体验:在Windows/Mac上运行鸿蒙PC开发环境
windows·macos·harmonyos
西西学代码2 小时前
Flutter---电流电压横向滑动折线图
flutter
2601_949809592 小时前
flutter_for_openharmony家庭相册app实战+通知设置实现
android·javascript·flutter
mocoding4 小时前
使用鸿蒙化Flutter图片选择、相机拍照、多图选择三方库image_picker实战教程示例
flutter·前端框架·harmonyos·鸿蒙
一起养小猫5 小时前
Flutter for OpenHarmony 实战:电子英汉词典完整开发指南
flutter·harmonyos
姚华军6 小时前
在本地(Windows环境)部署LLaMa-Factory,进行模型微调步骤!!!
windows·ai·llama·llama-factory
wYb123_4566 小时前
Flutter for OpenHarmony软件开发助手app实战学习统计分析实现
学习·flutter