flutter开发windows桌面软件,使用Inno Setup打包成安装程序,支持中文

最近使用flutter开发windows桌面软件的时候,想要将软件打包成安装程序,使用了flutter官方推荐的msix打包,但是打包出来的软件生成的桌面快捷方式有蓝色背景:

这个蓝色背景应该是没有设置为动态导致的,windows系统的屏幕缩放比例改变也会导致这个蓝色背景改变,windows的主题设置改变,这个背景也会随着改变,我猜测应该是msxi没有适配这个改变,所以导致的有蓝色背景。官方推荐的msxi打包:https://flutter.cn/docs/deployment/windows

看了msxi的源码也没有看到有相关的配置,所以就换个打包工具使用。我这里将inno和中文包大包了一下,方便快速下载使用:inno setup 带中文包.zip - 蓝奏云

下载Inno Setup软件

需要到官网下载这个打包工具,然后默认安装选项即可:Inno Setup Downloads

点击下载安装,一气呵成。

配置中文

如果你需要使用中文版的安装包,就需要加载一个中文的语言包文件,官网默认不支持中文,github上有人开发了这个中文包,所以可以直接下载这个中文包,然后保存到inno setup安装的位置language里面:https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation

中文包下载然后放到language下面:

新建一个打包脚本

然后根据提示点击下一步:

按图中的文字提示填入App的信息即可:软件名称,版本,公司,网站地址

点击下一步:添加安装文件夹名称

然后选择flutter编译后的exe程序:

Application main executable file: 此处指定flutter中打包出来的.exe文件路径 ~\build\windows\runner\Release\windows_test.exe
Other application files: 需要点击Add folder,添加~\build\windows\runner\Release\*文件夹,确保其它资源文件能打入安装包中,不然会出现 找不到Flutter_windows.dll文件,无法运行程序。

后续进行下一步配置:默认就行

继续下一步:允许创建菜单栏的图标和创建桌面快捷方式

配置安装协议、安装前介绍、安装后描述内容:可以为空

我创建了3个.txt文件,然后按需分别指定文件路径即可

需要注意.txt文件的编码格式,创建文件时默认是 UTF-8,打包安装后会出现乱码,需要将文件格式指定为UTF-8-boom格式。

配置安装模式:为所有用户安装或者询问

配置语言、应用图标、安装包文件输出路径等:

可以选择多个语言,我这里选择英文和中文

配置安装包导出路径、以及安装应用图标:

生成打包脚本:

可以将脚本保存下来,方便后面快速使用:

完成并打包

生成的脚本直接点击运行就可以打包,打包后的文件就存放在你设置的文件夹里面:

打包后的文件:

运行测试

点击安装程序,就可以正常使用了

使用这种方式安装好的程序就没有蓝色背景了:

相关推荐
一只大侠的侠16 分钟前
Flutter开源鸿蒙跨平台训练营 Day 3
flutter·开源·harmonyos
一只大侠的侠1 小时前
【Harmonyos】Flutter开源鸿蒙跨平台训练营 Day 2 鸿蒙跨平台开发环境搭建与工程实践
flutter·开源·harmonyos
微祎_2 小时前
Flutter for OpenHarmony:构建一个 Flutter 平衡球游戏,深入解析动画控制器、实时物理模拟与手势驱动交互
flutter·游戏·交互
ZH15455891313 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
renke33644 小时前
Flutter for OpenHarmony:构建一个 Flutter 色彩调和师游戏,RGB 空间探索、感知色差计算与视觉认知训练的工程实现
flutter·游戏
王码码20354 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
ujainu6 小时前
Flutter + OpenHarmony 实现经典打砖块游戏开发实战—— 物理反弹、碰撞检测与关卡系统
flutter·游戏·openharmony·arkanoid·breakout
微祎_6 小时前
构建一个 Flutter 点击速度测试器:深入解析实时交互、性能度量与响应式 UI 设计
flutter·ui·交互
王码码20356 小时前
Flutter for OpenHarmony 实战之基础组件:第二十七篇 BottomSheet — 动态底部弹窗与底部栏菜单
android·flutter·harmonyos
ZH15455891317 小时前
Flutter for OpenHarmony Python学习助手实战:Web开发框架应用的实现
python·学习·flutter