在本文中,我们将逐步介绍创建 Windows 可执行文件(.exe
)的过程,以便在 Windows 上发布 Flutter 桌面应用程序。
打包和发布适用于 Windows 的 Flutter 桌面应用程序
要了解如何为 Windows 构建和发布 msix 版本,请查看集成&部署的官方文档。
译者注:使用msix库时,如遇到
msvcp140.dll
等类似库导致的问题,可以参考这个讨论。
第一步
从此处下载并安装最新版本的 Visual Studio(社区版免费)。
下载并安装 Inno 安装软件(链接),它将帮助我们创建 Windows 可执行文件。
第二步
在 VS Code 中打开 Flutter 项目,在终端中执行构建命令。
译者注: 也可在android studio 的terminal中执行此构建命令。 相关产物位于项目根目录下的
/build/...
目录中,具体可参考官方文档。
flutter build windows --release
它将在以下位置创建 .exe
文件以及一些 .dll
文件和包含资产的数据文件夹:
C:\\path\to\project\build\windows\runner\Release
第三步
上述文件不足以分发和运行应用程序,因为目标(最终用户)计算机中还需要 Visual C++ 运行库。
为确保所需库的可用性,可复制以下 Visual Studio .dll
文件:
-
msvcp140.dll
-
msvcp140_1.dll
-
msvcp140_2.dll
-
vcruntime140.dll
-
vcruntime140_1.dll
上述文件存在于下方目录中(不同的vs版本,可能存在差异):
C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\
Redist\MSVC\14.34.31931\x64\Microsoft.VC143.CRT\
并将其与其它 .dll
文件一起放在项目构建所产出的文件夹中。
第四部
启动 Inno Setup,点击 Ok
,使用脚本向导创建新脚本。
点击下图中所示的Next
按钮:
输入应用程序的详细信息,如名称、版本、发布者名称和网站,如下所示:
选择应用程序的根文件夹和应用程序文件夹名称,如下图所示。您也可以允许用户更改该位置。
单击Browser
并选择我们在步骤 2 中生成的主 .exe
文件。
单击Add Files...
,然后选择 Release
文件夹中的所有 .dll
文件。
单击Add Folder...
并添加之前创建的数据文件夹。该文件夹包含字体、图像等所有资产。
向下滚动列表,选择data
文件夹路径,然后单击 Edit...
按钮。
此处要确保目标子文件夹具有相同的data
名称,否则程序安装后将无法运行,因为文件夹中的所有内容都会分散到外部。因此,请将目标子文件夹的名称输入为data
,然后单击OK
。
现在,点击 Next
,如下图所示。
如果要将应用程序以特定文件类型打开,请指定文件类型名称
和扩展名
,如下所示。
指定用户是否可以创建快捷方式,如下图所示。
如果您的应用程序有软件许可证文件,可以如下所示在 license.txt
中添加路径。它可以是任何类型的许可证,包括 MIT
、Apache-2
、GPL
等开源许可证。用户在安装应用程序时会看到许可证。此外,您还可以提供一些在软件安装前后显示的信息。
如下图所示,指定应用程序的安装模式或允许用户选择安装模式。
指定应包含的安装包(setup)语言
。
指定输出文件夹名称和自定义设置图标文件。这将是编译后exe
文件的路径。
单击 Next
,然后单击 Finish
完成脚本向导,如下图所示。
第五步
上述步骤完成后,会生成一个inno
安装脚本。必须运行该脚本才能生成安装程序
。如下图所示,系统会提示你编译脚本。请按 YES
。
如果您为了对脚本进行二次修改,而关闭了提示,可以再次单击下图所示的RUN
按钮,生成 Windows .exe
安装程序文件。
该脚本可轻松编辑和执行,为未来的应用程序版本创建 Windows 安装程序。
第六步
.exe
文件可以在我们上一步中指定的输出目录内找到。安装文件的logo也是我们在上一步中选择的自定义logo。
只需双击即可在 Windows 上安装应用程序。如下图所示,安装过程从许可证屏幕开始。
第七步
要通过 GitHub 发布应用程序,可以创建一个新版本并附加 .exe
文件,如下所示。
一旦发布,所有 Windows 用户均可下载 exe
安装文件。
结束语
在本文中,我们学习了如何创建 Windows 可执行文件(.exe
),以 “独立 ”或开源方式发布 Flutter 桌面应用程序, 谢谢大家的阅读。