最近使用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
格式。
配置安装模式:为所有用户安装或者询问
配置语言、应用图标、安装包文件输出路径等:
可以选择多个语言,我这里选择英文和中文
配置安装包导出路径、以及安装应用图标:
生成打包脚本:
可以将脚本保存下来,方便后面快速使用:
完成并打包
生成的脚本直接点击运行就可以打包,打包后的文件就存放在你设置的文件夹里面:
打包后的文件:
运行测试
点击安装程序,就可以正常使用了
使用这种方式安装好的程序就没有蓝色背景了: