当前位置: 首页 > news >正文

flutter开发window打包成exe可执行文件的步骤

1. 环境准备,以及打包步骤说明

  1. 环境自己准备,这篇文章只是说明打包步骤,是在项目能运行起来的前提下进行的。
  2. cd 到项目的根目录下
  3. fluttter pub get //更新项目依赖
  4. flutter build windows -t lib/main_development.dart // -t指定程序入口文件,执行完可以生成可执行文件xx.exe
  5. 直接运行xx.exe是可以正常打开的,应该运行环境我们打包的电脑都具备。如果要在其他电脑上也可以运行,就需要打包相关的依赖到一起发布给用户安装
  6. flutter window打包成安装包有很多种方式和方法,这里选择比较常用的inno setup软件制作,下面将具体介绍该软件制作exe安装包的步骤,其实基本都是下一步。。。

2. 使用inno setup软件制作exe安装包的步骤

1.下载并安装inno setup软件,inno setup下载路径:https://jrsoftware.org/isdl.php#stable,安装步骤一直下一步,自行解决。
2. 打开inno setup, 选择Create a new script file using the Script Wizard 然后下一步:
image
3. next→next填写应用信息
image
4. 默认选择应用程序目录,不用动,直接下一步
image
5. 选择应用程序入口,和依赖文件。程序入口选择上面提到的xx.ext文件,依赖通过add file添加所有依赖,add fold添加data文件夹以及其子文件夹,提示后会提示你的选择yes即可。
image
6. 这一边很重要,选择data,然后选择edit,修改destination subfold为data
image
7. next,next下一步选license文件,三个普通txt文件
image
8. 安装的时候是否请求用户的administration权限,默认是,可以选择yes或no,不过最好是yes,权限高点,对后续操作权限有利
image
9. 选择安装时候的语言,没有中文。。。暂时只能选择英文,网上有汉化方法
image
10. 添加安装包输出的目录和啊安装包名称、安装包图标。最后一个密码不用设置
image
11. 最后next,next,finish即可生成并保存一个iss配置文件
12. 每次运行这个iss配置文件即可生成一个可安装运行的exe文件

iss文件大致内容如下:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!#define MyAppName "xx"
#define MyAppVersion "1.0.1+1"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "xx.exe"[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{ADA3DD7E-53F6-45C5-B370-CC2C04BF892B}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=D:\OpenSSL_Win64_3.1.1\install_licence.txt
InfoBeforeFile=D:\OpenSSL_Win64_3.1.1\install_before.txt
InfoAfterFile=D:\OpenSSL_Win64_3.1.1\install_after.txt
; Remove the following line to run in administrative install mode (install for all users.)
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=commandline
OutputDir=D:\OpenSSL_Win64_3.1.1
OutputBaseFilename=xx-setup
SetupIconFile=D:\OpenSSL_Win64_3.1.1\app_icon.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked[Files]
Source: "D:\work\xx-pc\build\windows\runner\Release\xx.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\work\xx-pc\build\windows\runner\Release\flutter_windows.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\work\xx-pc\build\windows\runner\Release\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent[UninstallDelete]
Type: files; Name: "{autodocs}\App.gs"
Type: files; Name: "{autodocs}\App.bak"
http://www.wxhsa.cn/company.asp?id=2134

相关文章:

  • Transtion动画组件要求包裹元素必须是单一根节点
  • linux启动ntp服务
  • 企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent
  • android开发局域网内通过NTP服务端自动更新系统时间
  • 一招解决Proxmox VE虚拟机磁盘空间耗尽:LVM在线扩容实战 - 若
  • jiaozi
  • 基于Linux系统的定制软件安装硬件设备选型指南
  • c++之is_trivially_default_constructible
  • python3协程学习-async,await
  • 猫树分治
  • Rust太难了。。。。。。。
  • AI导航生成寻路点-FindPathToLocationSynchronously
  • cache写策略
  • 个人微信开发
  • C++之std::is_trivially_copyable
  • PostgreSQL技术大讲堂 - 第104讲:PostgreSQL分区表应用实践
  • redis实现缓存1-添加商户缓存
  • qemu的外部快照实现原理
  • Springboot 集成 飞书群消息
  • 最新爆料:GitHub Copilot全面推出OpenAI GPT-5 和 GPT-5 mini!
  • netstat 命令查看端口状态详解
  • 智聘无界:AI 破解全球化招聘合规、成本与人才匹配难题的实践路径
  • Nature | 本周最新文献速递
  • Flink 与Flink可视化平台StreamPark教程(CDC功能)
  • GAS_Aura-Setting Up Auto Running
  • Ubuntu 24.04 LTS 登录用户和密码忘记找回方法
  • 错排问题
  • 源码调试-带你了解下车牌识别的深度学习模型-LPRNet
  • 仓储物流业务字段(一)
  • ubuntu 24.04部署mysql8.0.41(glibc2.28)